Witam, problem jest bardzo krótki i myślę że nie ma co się rozpisywać ;)
A więc to ( fragment mojego kodu ) działa:
AST_Program_Ptr prog = std::make_unique<Composition>(
std::make_unique<Assign>("a", std::make_unique<Constant>(10)),
std::make_unique<Write>("a")
);
A to już nie:
template <typename T> using TP = std::unique_ptr<T>;
// (...)
AST_Program_Ptr prog = TP<Composition>(
TP<Assign>("a",TP<Constant>(10)),
TP<Write>("a")
);
mam taki komunikat błędu:
Błąd C2440 "<function-style-cast>": nie można konwertować z "initializer list" na "std::unique_ptr<Composition,std::default_delete<_Ty>>"
Nie zbyt rozumiem co ma tu kompilator "na myśli", przecież ja tylko zastosowałem alias zamiast pełnej nazwy...
Z góry dziękuje za pomoc.