내가 부스트를 실행하려고 한 또 다른 객체의 기능을 스레드 실행 부스트를 사용하는 방법 ::이 같은 함수가있는 클래스 A의 콜백콜백
일부 개체 기능을 스레드 홈페이지에서 :
int SomeCallback(float variable)
{
int result;
cout<<"Callback called"<<endl;
//Interpret variable
return result;
}
int main(){
A* file = new A();
boost::thread bt(&A::DoWork, file , &SomeCallback);
cout<<"Asyns func called"<<endl;
bt.join();
cout<<"main done"<<endl;
}
링커에게 오류가 발생 boost::thread bt(&A::DoWork, file , &SomeCallback);
라인입니다. 이 튜토리얼에서 사용한이 호출은 http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html입니다.
오류 :
unresolved external symbol "public: void __thiscall A::DoWork(int (__cdecl*)(float))" ([email protected]@@[email protected]@Z) referenced in function _main
이 코드에 어떤 문제가 있습니까?
'DoWork'에서'콜백'이 사용 되었습니까? –
비동기 요구 사항에 대해 [boost.asio] (http://www.boost.org/libs/asio/)에 관심이있을 수 있습니다. –
@DrewDormann 필자는 typo/copy 에러 인'f'와'callback'이 거의 동일하다고 생각합니다. –