无法将指针传递给线程的方法

时间:2014-07-27 09:20:26

标签: c++ multithreading posix

我试图创建自己的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;
    }

};

0 个答案:

没有答案