int sum(int x, int y)
{
return x + y;
}
queue<function<void()>> q;
int main()
{
packaged_task<int(int, int)>* task = new packaged_task<int(int, int)>(sum);
future<int> res = task->get_future();
function<void()> func = [task]() {(*task)(1, 2); };
q.emplace(func);
thread a((task), 1, 2);
cout << res.get();
a.join();
return 0;
}
通过指针进行转移