Czy da się jakoś podzielić unque_ptr aby od razu nie przypisywać obiektu? Nie chcę dublować kodu w programie więc chciałbym zadeklarować go sobie przed if'ami, potem w zależności od użytkownika odpowiednio go przypisać.
void Team::addToTheTeam()
{
int choice;
cout << "Who would you like to add?(1.Player 2.Employee): "; cin >> choice;
//czy da sie utowrzyć tu unique_ptr a dopiero potem go przypisać żeby wsk było widoczne poza blokiem kodu?
unique_ptr<Person>wsk;
if (choice == 1)
{
wsk(new Player); //<-w ten sposób
}
else if (choice == 2)
{
unique_ptr<Person>wsk(new Employee);
}
else
{
cout << "Bad choice. You're going to menu..." << endl;
return;
}
wsk->addPerson();
//todo
}
Wiem, że zwykłymi wskaźnikami bym tak zrobił jednak wolę ich unikać gdyż nie chcę później szukać wycieków.