m_pThread=AfxBeginThread(DrawEllipse,&m_hWnd,THREAD_PRIORITY_BELOW_NORMAL,
0,CREATE_SUSPENDED,NULL);
DrawEllipse是我的函数名,线程的地址
m_hWnd视图窗口的句柄。错误为:
error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'

解决方案 »

  1.   

    你的DrawEllipse是怎么定义的?
      

  2.   

    把&m_hwnd 改成(LPVOID)&m_hwnd试试
      

  3.   

    你的DrawEllipse()不是全局函数,把它拿到类外面去.调用时  AfxBeginThread(DrawEllipse,pView);  //pView是视图窗口的句柄
      

  4.   

    把DrawEllipse定义成全局,或局部静态成员函数,返回为UINT ;
    static UINT DrawEllipse(LPVOID lpParam);这样定义。
      

  5.   

    呵呵,反正是DrawEllipse有问题
      

  6.   

    将DrawEllipse 强制转型成AFX_THREADPROC 
    m_pThread=AfxBeginThread((AFX_THREADPROC)DrawEllipse,&m_hWnd,THREAD_PRIORITY_BELOW_NORMAL,
    0,CREATE_SUSPENDED,NULL);
      

  7.   

    节什么贴啊!是DrawEllipse声明有问题,
    UINT DrawEllipse(LPVOID lpParam);这样声明,void的指针,传什么参数都可以。