pthread_create中传入的第三个参数出现问题
class Aaaa{
private:
void* xxx(void* ccc);
}
void* Aaaa::xxx(void* ccc){}
pthread_create(&bbb,NULL , xxx , &ccc ){}
然后提示error: invalid use of non-static member function
然后改成 friend void* xxx(void* ccc){} 编译能通过但是运行异常
改成static
class Aaaa{
private: static void* xxx( void* ccc );
public:
void threadHandle();
};
void Aaaa::threadHandle()
{
pthread_create...
}
void main()
{
Aaaa a;
a.threadHandle()
}
// 或者
class Aaaa{
public: static void* xxx( void* ccc );
};
void main()
{
Aaaa a;
pthread_create(..,,a.xxx,,);
}
楼主可以试试把1L的 public: static void* xxx( void* ccc );
换成 public: static void xxx( void* ccc );