This is the mail archive of the pthreads-win32@sources.redhat.com mailing list for the pthreas-win32 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pthread_create(&ID, NULL, ***AC++MemberFunction***, NULL);


07/04/02 14:38:30, "XDLai" <xdlai@wmlab.csie.ncu.edu.tw> wrote:

>The C++ member function must be a static function.

But now I cant call non-static member function of the same class from the thread function:

c:\t\cpp\killbot\bot.cpp(124) : error C2352: 'CBot::Connect' : illegal call of non-static member function
        c:\t\cpp\killbot\bot.h(32) : see declaration of 'Connect'

I managed to get it to work another way by having it as a global friend function of the class, and passing a pointer to the class as the paramater:

CBot class
{

friend void* Main(void* pData);


bool OtherMemberFunction();
}

void* Main(void* pData)
{
 CBot* pBot = (CBot*)pData;

 pBot->OtherMemberFunction();
}



Suggest any better way?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]