Код: Выделить всё
std::unique_ptr ptr;
std::vector vec;;
Bar( ptr );
vec.push_back( ptr );
void Bar(std::unique_ptr &obj)
{
obj = std::make_unique();
}
при попытке скомпилировать с помощью 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
Должен ли я объявить там явный деструктор?
Что странно, в моем коде нет красного индикатора...
TIA!!
РЕДАКТИРОВАТЬ:
Фактическая ошибка появляется намного ниже в журнале сборки. Извините, наверное, я не так уж много прокручивал.
Ошибка в моем коде находится в строке push_back().
Что я не понимаю, почему в редакторе нет индикации? Это действительно сбивает с толку...
Подробнее здесь: https://stackoverflow.com/questions/790 ... a-function