Код: Выделить всё
auto ptr = make_unique();
// Works.
auto lambda = [p = move(ptr)] { };
// This does not compile.
std::function func = [p = move(ptr)] { };
Код: Выделить всё
copy constructor of '' is implicitly deleted because field '' has a deleted copy
constructor
std::function func = [p = move(ptr)] { };
Обратите внимание, что этот ответ просто повторяет пример на isocpp.org. /> Я могу перейти в wared_ptr следующим образом:
Код: Выделить всё
shared_ptr s = move(ptr);
Можно ли захватить уникальный_ptr в std :: function ?
Подробнее здесь: https://stackoverflow.com/questions/569 ... tdfunction
Мобильная версия