Код: Выделить всё
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.
Я могу перейти к Shared_ptr следующим образом:
Код: Выделить всё
shared_ptr s = move(ptr);
Можно ли захватить unique_ptr в std::function?< /п>
Подробнее здесь: https://stackoverflow.com/questions/569 ... tdfunction
Мобильная версия