當我編譯下面的一段代碼時,出現以下錯誤。任何人都可以幫助我解決這個問題。謝謝。指向成員函數錯誤
錯誤:ISO C++禁止將綁定成員函數的地址形成指向成員函數的指針。說「& FOO :: ABC」 [-fpermissive]
升壓::螺紋testThread(升壓::綁定(& f.abc中,f));
............................................. ............................................. ...........................^
#include <iostream>
#include <boost/asio.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/thread.hpp>
class foo
{
private:
public:
foo(){}
void abc()
{
std::cout << "abc" << std::endl;
}
};
int main()
{
foo f;
boost::thread testThread(&f.abc, f);
return 0;
}
即使在拆除類動物園後,我收到了同樣的錯誤。 – shaikh
@shaikh什麼錯誤?所有這些選項[爲我工作](http://coliru.stacked-crooked.com/a/93c8f533b7c466f5) – Praetorian
住它的工作正常。我不知道爲什麼我得到一個長的錯誤信息。 thread.cpp :(。text + 0x74):對boost :: thread :: join()的未定義引用。 thread.cpp在函數中使用'__static_initialization_and_destruction_0(int,int)':'(')' thread.cpp :(。text + 0x95):未定義的引用'boost :: thread ::〜thread()' /tmp/ccAzOPoD.o: (.text + 0xf4):未定義的引用boost :: system :: generic_category()' thread.cpp :(。text + 0xfe):未定義的引用'boost :: system :: generic_category()' )' ... collect2:錯誤:ld返回1退出狀態 – shaikh