2014-02-23 41 views
2

我試圖通過使用異步獲取更好的性能,只要這很方便。我的程序編譯,但每次我碰到下面的錯誤我用一個函數包含異步調用:std :: async和lambda函數在C++中沒有給出任何關聯狀態

C++ exception with description "No associated state" 

我想異步調用的方式與拉姆達是如如下:功能

auto f = [this](const Cursor& c){ return this->getAbsIndex(c); }; 
auto nodeAbsIndex = std::async(f,node); // node is const Cursor& 
auto otherAbsIndex = std::async(f,other); // other too 

size_t from = std::min(nodeAbsIndex.get(), otherAbsIndex.get()); 
size_t to = std::max(nodeAbsIndex.get(), otherAbsIndex.get()); 

簽名呼籲如下:

uint64_t getAbsIndex(const Cursor& c) const 

什麼我錯在這裏做什麼?感謝任何提示! Diego

回答

相關問題