pthread_create(&ID, NULL, ***AC++MemberFunction***, NULL);
Tim Hutt
tim.hutt@btinternet.com
Sun Apr 7 07:07:00 GMT 2002
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?
More information about the Pthreads-win32
mailing list