我已經嘗試了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'。 –