2012-06-05 51 views
1

我想創建這樣一個函子打包的任務:在工體類如何用functor創建boost :: packaged_task?

Worker w(someString, anotherString, i*length,length); 
boost::packaged_task<Match> task(&w); 

運營商正在尋找這樣的:

Class Worker { 
    Match operator()() 
    { 
     return matchText(..., ..., ..., ...); 
    } 
} 

編譯器給我的錯誤(翻譯錯誤從德國-message)

C2064:語句的結果中沒有功能,其通過0參數

我在做什麼錯了?

回答

4

boost :: packaged_task expects a functor object(無論是左值還是右值)的構造函數,而不是指向它的指針。

boost::packaged_task<Match> task(w); 

boost::packaged_task<Match> task(std::move(w)); 
相關問題