我试图创建自己的Thread类,这样我就不必直接对本机函数进行操作,但是我对pthread_create函数有点困惑,因为它并没有。似乎接受指向方法的指针。有没有办法以某种方式投射它? 我目前得到一个错误,说"无法将'Thread * run'从类型'void *(Thread ::)(void *)'转换为'void *()(void ) “"
class Thread {
pthread_t handle;
protected:
bool endThread;
public:
virtual ~Thread() {
}
void start() {
endThread = false;
pthread_create(&handle, NULL, Thread::run, NULL);
}
void stop() {
endThread = true;
}
void join() {
pthread_join(handle, NULL);
}
virtual void* run(void * param) {
return NULL;
}
};