std::vector<std::function<void()>> tasks;
std::packaged_task<int()> task{ [] { return 1; } };
tasks.emplace_back(
[ t = std::move(task) ] () mutable { t(); });
(代码在此处)
我试图找出为什么在https://www.slideshare.net/GlobalLogicUkraine/c11-multithreading-futures中使用
shared_ptr<task>
。在Gcc和MSVC上,我得到了相同的错误 - 我担心我做错了什么...
error: use of deleted function
'main()::<lambda()>::<lambda>(const main()::<lambda()>&)'
为什么我不能将这个std::function
放到向量中?
function
决定了是否可拷贝构造? - xtofl