有一个线程UINT _ListenThread(LPVOID lparam)当我用::AfxBeginThread(_ListenThread,this); 语句时报以下的错误
    '_ListenThread' : undeclared identifier
'_ListenThread' : redefinition; different type modifiers是怎么回事??盼回复。

解决方案 »

  1.   

    给你参考一下:void CMultiThreadDlg::OnBnClickedButton1()
    {
    m_button.EnableWindow(FALSE);
    i=1;
    m_static.SetWindowText("已经花了0秒");
    m_progress.SetRange32(0,500000);
    AfxBeginThread(ShowTimeThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
    AfxBeginThread(SetPosThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
    // m_button.EnableWindow(TRUE);
    }UINT ShowTimeThread(LPVOID param)
    {
    ::SetTimer((HWND)param,1,1000,NULL);
    return 0;
    }UINT SetPosThread(LPVOID param)
    {
    int sum=0;
    HWND hwnd,btn;
    hwnd=::GetDlgItem((HWND)param,IDC_PROGRESS1);
    btn=::GetDlgItem((HWND)param,IDC_BUTTON1);
    for(int i=1;i<=500000;i++)
    {
    sum+=i;
    SendMessage(hwnd,PBM_SETPOS,i,0);
    }
    ::KillTimer((HWND)param,1);
    // SendMessage(btn,WM_ENABLE,TRUE,0);
    ::EnableWindow(btn,TRUE);
    return 0;
    }
      

  2.   

    UINT _ListenThread(LPVOID lparam)应该放在AfxBeginThread(_ListenThread,this)前面
      

  3.   

    没有函数声明 
    可能情况  没有include 包含UINT _ListenThread(LPVOID lparam)的头文件
    UINT _ListenThread(LPVOID lparam)没放在AfxBeginThread(_ListenThread,this)前面