void CMyChatDlg::OnBnClickedOpenserv()
{
   // TODO: 在此添加控件通知处理程序代码
   m_ListenThread=CreateThread(NULL,0,ListenThreadFunc,NULL,0,NULL);
}
这里就这么一句简单的代码,为什么老是提醒我
error C3867: “CMyChatDlg::ListenThreadFunc”: 函数调用缺少参数列表;请使用“&CMyChatDlg::ListenThreadFunc”创建指向成员的指针
--------
--------
这里是线程函数:
public:
DWORD WINAPI ListenThreadFunc(LPVOID pParam)
{
  MessageBox(_T("algag"));
}
这函数的LPVOID 写没写都是一样的提示。哪位可以帮帮解决下?

解决方案 »

  1.   

    ListenThreadFunc 前面加 
    static 
      

  2.   

    m_ListenThread=CreateThread(NULL,0,&CMyChatDlg::ListenThreadFunc,NULL,0,NULL);应该如上。
      

  3.   

    线程函数只能是全局的函数或是类的静态成员变量,所以,要么将
    public:
    DWORD WINAPI ListenThreadFunc(LPVOID pParam)
    {
    MessageBox(_T("algag"));
    }
    改为:static DDWORD WINAPI ListenThreadFunc(LPVOID pParam)
    要么将上面的函数写在类的外面,写成一个全局函数。