我已经尝试了VS,g ++和Clang的以下内容,并且无法对任何错误进行韵律或原因分析。如何绑定异步?
void foo() {}
auto f = bind(async, foo);
我怀疑错误可能从哪个异步()结合,一,需要一个启动策略对不适用的一个混乱干......或者我必须明确给出异步( )它的模板类型(例如async < ...>)?无论哪种方式,编写上述语句的正确方法是什么?
编辑:
感谢您的建议家伙,但没有了以下工作(与任何编译器)的:
bind(async<decltype(foo)>, foo);
bind(async<void (*)()>, foo);
bind(async<function<void()> >, foo);
是的,你需要通过模板参数。我只会使用lambda并忘记绑定。 –
也许试试'async'。 –