D:\My Dcuments\TestTheard\TestTheardDlg.cpp(195) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned long (__stdcall *)(void *)'
Error executing cl.exe.
threadFunc一般在那里定义?是不是在Globals里面定义的?

解决方案 »

  1.   

    CWinThread * pThread=::AfxBeginThread(threadFunc,&nContinue);就是这样出错了
      

  2.   

    threadFunc为类的成员函数时,得是静态的.
      

  3.   

    DWORD WINAPI threadFunc (LPVOID pParam)
      

  4.   

    改成static threadFunc (LPVOID pParam)也不行啊、
      

  5.   

    把threadFunc改为:可以是全局也可以是类的静态发方法UINT __cdecl threadFunc( LPVOID pParam )
    {
        .....
        return 0;
    }
      

  6.   


    UINT MyControllingFunction( LPVOID pParam );
    不能用 WINAPI, __stdcall
    可以用 __cdecl,或不用(在c里是一会事儿)
      

  7.   

    试试这样, 给参数类型转化成LPVOID
    CWinThread * pThread=::AfxBeginThread(threadFunc,(LPVOID)&nContinue);
      

  8.   

    第一个参数是这种类型的函数指针。
    UINT __cdecl MyControllingFunction( LPVOID pParam );