可能重复:
类中的 pthread 函数
我正在尝试使用启动例程创建一个线程,但 g++ 不喜欢我的语法。
class myClass
{
void* myFunction(void* myArg)
{
// some code, useless here
}
void start()
{
pthread_t thread_id;
int* fd;
//Some code, useless here.
pthread_create(&thread_id, 0, &myFunction, (void*) fd);
}
}
在编译器期间,g++ 告诉我ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say '&myFunction'
.
它不能转换void (myClass::*) (void*)
为void* (*) (void*)
的参数 3 pthread_create
。
任何的想法 ?