C++ 如何将boost::async()与调度程序生成的执行器包装一起使用?

C++ 如何将boost::async()与调度程序生成的执行器包装一起使用?,c++,boost,boost-thread,C++,Boost,Boost Thread,使用以下代码: boost::basic_thread_pool e; boost::scheduler<Clock> scheduler; auto wrapper = scheduler.on(e); // test run after auto executorAfter2Seconds = wrapper.after(boost::chrono::seconds(2)); boost::async(executorAfter2Seconds, []() { return

使用以下代码:

boost::basic_thread_pool e;
boost::scheduler<Clock> scheduler;
auto wrapper = scheduler.on(e);

// test run after

auto executorAfter2Seconds = wrapper.after(boost::chrono::seconds(2));
boost::async(executorAfter2Seconds, []() { return 10; }); // leads to an error: no member named 'try_executing_one' in boost::executors::resubmit_at_executor<....>
boost::基本线程池e;
调度程序;
自动包装器=调度程序.on(e);
//试运行后
autoexecutorafter2seconds=wrapper.after(boost::chrono::seconds(2));
boost::async(executorAfter2Seconds,[](){return 10;});//导致错误:boost::executors::resubmit_at_executor中没有名为“try_executing_one”的成员
我得到了评论的错误。当我手动调用submit,传递承诺并设置未来值时:

boost::promise<int> p0;
auto f0 = p0.get_future();
executorAfter2Seconds.submit([&p0](){ p0.set_value(10); });
boost::promise p0;
auto f0=p0.get_future();
executorAfter2Seconds.submit([&p0](){p0.set_value(10);});
它毫无问题地工作。如何将计划执行器传递给boost::async()