我想使用boost ::線程在我的計劃,但得到以下編譯器錯誤(Visual Studio 2005中):升壓:螺紋 - 編譯器錯誤
Error 1 **error C2064**: term does not evaluate to a function taking 0
arguments d:\...\boost_1_37_0\boost\thread\detail\thread.hpp 56
所以我試圖重新創建一個小問題程序並修改了從this site開始工作的Hello World示例。
我的測試代碼現在看起來像這樣。爲什麼不是一類?:
#include <boost/thread.hpp>
#include <iostream>
class HelloWorld
{
public:
void hello();
void entry();
};
void HelloWorld::entry()
{
boost::thread thrd(&HelloWorld::hello);
thrd.join();
}
void HelloWorld::hello()
{
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main(int argc, char* argv[])
{
HelloWorld *bla = new HelloWorld;
bla->entry();
return 0;
}
非常感謝你!它現在適用於您的解決方案。 /mspoerr – mspoerr 2009-02-13 15:48:01