void  CMyClass::Proc(LPVOID param)  //静态函数
{      CMyClass* p  =  (CMyClass*)param;
        CString  str = "";
        p->FunctionA(str);
}CWinThread* CMyClass::BeginThread()
{
   return AfxBeginThread(Proc,(LPVOID)this);}
程序报错了  
d:\vss\TreeQdzm.cpp(536): error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'void (LPVOID)'
为什么啊?100求解

解决方案 »

  1.   

    UINT CMyClass::Proc(LPVOID param)
      

  2.   

    线程函数需要定义为
    UINT ThreadProc(LPVOID lParam)
    这种形式!!!!
      

  3.   

    必须要有返回值,这个返回值被用作线程的退出代码,即使用GetThreadExitCode获得的线程退出代码!
      

  4.   

    UINT _stdcall Proc(void* lpParam)
    {
      CMyClass* pThis = reinterpret_cast<CMyClass*>(lpParam);
      return 0;
    }
    void* CMyClass::BeginThread()
    {
         UINT m_dwID;
         this->m_hCtrlSendThread = (HANDLE)_beginthreadex(NULL,0, proc,(void*)this,0,m_dwID);
    }