错误提示:D:\VC\xh\xhDlg.cpp(123) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
相应代码:
HWND hWnd=GetSafeHwnd();
AfxBeginThread(ThreadProc,hWnd);
请教怎么改正这个错误

解决方案 »

  1.   

    不要全局就这样吧:
    定义两个成员函数.
    UINT CFrameWnd::Thread1(LPVOID pParam)
    {
    CFrameWnd* pThis = (CFrameWnd*)pParam;
    pThis->Thread2();
    return 0;
    }void CFrameWnd::Thread2()
    {...
    m_pPointer->...//在这个函数里可以使用类的变量

    }
      

  2.   

    类头文件中函数前加上 static
      

  3.   

    HWND hWnd=GetSafeHwnd();
    AfxBeginThread(ThreadProc,hWnd);
    Afxbeginthread函数的第二个参数中是要调用的(WPARAM*)
    参数不对吧?
      

  4.   

    UINT ThreadProc(LPVOID pParam)
    {
        //内容
        return 0;
    }
    调用:
    HWND hWnd=GetSafeHwnd();
    AfxBeginThread(ThreadProc,(LPVOID)hWnd);