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

Linux下C++如何开线程调用其他类中的方法
C/C++ code

#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;
    [color=#FF0000]int p=pthread_create(&thread_do,NULL,hl->startListen(),NULL);[/color]
    return true;
}


我的问题就是我标记红色这行,编译错误,提示第3个参数不对,我就想在这个地方开线程调用
HTTPListener类里的startListen方法,请问第3个参数我应该怎么写,求高人指导

------解决方案--------------------
类里面的函数都隐藏了this指针作为参数,这里不适用把。非要用在类里写成静态函数把