Передайте std::unique_ptr<> в функциюC++

Программы на C++. Форум разработчиков
Anonymous
 Передайте std::unique_ptr<> в функцию

Сообщение Anonymous »

ВСЕ,

Код: Выделить всё

std::unique_ptr ptr;

void Bar(std::unique_ptr &obj)
{
obj = std::make_unique();
}
где Foo — это простой класс с сеттерами и геттерами.
при попытке скомпилировать с помощью MSVC 2017 я получаю:

Код: Выделить всё

c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xmemory0(881): error C2280: 'std::unique_ptr::unique_ptr(const std::unique_ptr &)': attempting to reference a deleted function
Я получил код из раздела «Как передать std::unique_ptr в функцию».
Должен ли я объявить там явный деструктор?
Что странно, в моем коде нет красного индикатора...
TIA!!

Подробнее здесь: https://stackoverflow.com/questions/790 ... a-function

Вернуться в «C++»