我正在编写一个带有 pthreads 的类,它的头文件和 .cpp 定义文件。
在 .hi 中有:
class test
{
public:
int a;
...
private:
typedef void (*myfunc)(void *p);
static myfunc pthreadRun;
}
在 .cpp 我有:
...
typedef void (*myfunc)(void *p);
myfunc test::pthreadRun
{
this->a = 10;
pthread_exit(NULL);
}
...
我收到一个错误:void (* test::pthreadRun)(void*)
is not a static member of class test
,还有一堆其他错误,但这是第一个。
我很困惑,因为它被声明为静态:/
pthreadRun
是线程运行函数pthread_create()
我错过了什么?