读书人

:在类的成员函数里创建线程有关问题

发布时间: 2012-03-18 13:55:39 作者: rapoo

高手指点:在类的成员函数里创建线程问题,急!!!
我的一个类里有两个成员函数,在其中一个初始化函数里面创建一个线程,线程执行另一个成员函数,不知该如何写,据说线程执行函数要是静态的,可是我写成静态的还是出错,请各位大侠指点,我写成如下形式:
class MAILGRAPH
{
...
public:
int Init(); //初始化函数,里面创建线程
static void* WriteClass(void *); //线程执行函数
}

int MailGraph::Init()
{ ...
pthread_create(&pid,NULL,WriteClass,NULL);
}

static void *MailGraph::WriteClass(void *arg)
{ ... }

现在编译有错误,错误信息如下:
error: cannot declare member function tatic void* MailGraph::WriteMailAddrClass(void*)?to have static linkage
不好意思,有乱码,请高手指点,为什么会出错,该怎么写?最好写出代码,多谢!很着急,我在线等!


[解决办法]
static void *MailGraph::WriteClass(void *arg)
{...}去掉这个地方的static

读书人网 >C++

热点推荐