日期:2014-05-16  浏览次数:20655 次

Linux下C++如何开线程调用其他类中的方法
本帖最后由 lwb314 于 2012-10-24 15:34:42 编辑

#include "ListenerManager.h"
#include <pthread.h>
#include "HTTPListener.h"
ListenerManager::ListenerManager() {
}
ListenerManager::~ListenerManager() {
}
bool ListenerManager::startListen()
{
pthread_t thread_do;
HTTPListener *hl = new HTTPListener();
hl->b1.ipaddress="192.168.131.42";
hl->b1.port=3491;
int p=pthread_create(&thread_do,NULL,hl->startListen(),NULL);
return true;
}

我的问题就是我标记红色这行,编译错误,提示第3个参数不对,我就想在这个地方开线程调用
HTTPListener类里的startListen方法,请问第3个参数我应该怎么写,求高人指导
------解决方案--------------------
类里面的函数都隐藏了this指针作为参数,这里不适用把。非要用在类里写成静态函数把