Это несколько похоже на следующее: Функция pthread из класса
Но функция, вызываемая в конце, ссылается на указатель 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: ошибка: инициализация аргумента 3 объекта int pthread_create (pthread_t *, const pthread_attr_t *, void * () (void ), void *)