【发布时间】:2011-01-27 07:54:40
【问题描述】:
这有点类似于:pthread function from a class
但是最后被调用的函数是引用 this 指针,所以它不能是静态的。
void * Server::processRequest()
{
std::string tmp_request, outRequest;
tmp_request = this->readData();
outRequest = this->parse(tmp_request);
this->writeReply(outRequest);
}
void * LaunchMemberFunction(void * obj)
{
return ((Server *)obj)->processRequest();
}
然后是 pthread_create
Server SServer(soc);
pthread_create(&handler[tcount], &attr, (void*)LaunchMemberFunction,(void*)&SServer);
错误:
SS_Twitter.cpp:819:错误:从 void* 到 void* 的无效转换 ()(void) SS_Twitter.cpp:819: 错误:初始化 int pthread_create(pthread_t*, const pthread_attr_t*, void* ()(void), void*)
的参数 3【问题讨论】: