一个线程函数一般如下定义 
DWORD WINAPI ThreadFunction(PVOID PARAM)
如果我要定义该函数的指针应该如何定义啊?我定义为typedef DWORD WINAPI(*BACKFUN)(void*);
将该函数指针用于CreateThread()函数时报错。请各位执教!

解决方案 »

  1.   

    这样调用:
    CreateThread(NULL,0,this->BACKFUN,NULL,0,&this->dwThread);
    报错
      

  2.   

    线程函数需要为静态函数,或者通过下面的方法:UINT A::Begin()
    {
    AfxBeginThread(SimTrackingThreadFun,
    this,
    THREAD_PRIORITY_NORMAL,
    0,
    0);
    return 0L;
    }UINT A::SimTrackingThreadFun(LPVOID lpparam)
    {
    A* This = (A*)lpparam;//dynamic_cast<CWorkThread*>(lpparam);
    This->TrackFunction();
    return 0L;
    }UINT A::TrackFunction()
    {
       //do something
    }