问题描述
我在MFC程序中使用AfcBeginThread函数创建线程,总是出现一下错误头文件中在类CscanServerDlg中声明以下线程控制函数:UINT__cdeclSendThreadFunc(LPVOIDlparam);//发送线程控制函数UINT__cdeclRecvThreadFunc(LPVOIDlparam);//接收线程控制函数
在.cpp文件中调用AfxBeginThread创建线程AfxBeginThread(&CscanServerDlg::SendThreadFunc,this);AfxBeginThread(&CscanServerDlg::RecvThreadFunc,this);
编译时出现这样的错误:c:programfilesmicrosoftvisualstudio8vcatlmfcincludeafxwin.h(4202):可能是“CWinThread*AfxBeginThread(AFX_THREADPROC,LPVOID,int,UINT,DWORD,LPSECURITY_ATTRIBUTES)”c:programfilesmicrosoftvisualstudio8vcatlmfcincludeafxwin.h(4205):或“CWinThread*AfxBeginThread(CRuntimeClass*,int,UINT,DWORD,LPSECURITY_ATTRIBUTES)”错误1errorC2665:“AfxBeginThread”:2个重载中没有一个可以转换所有参数类型f:projectsource_codescanserverscanserverscanserverdlg.cpp477错误2errorC2665:“AfxBeginThread”:2个重载中没有一个可以转换所有参数类型f:projectsource_codescanserverscanserverscanserverdlg.cpp478可是在我看到的实例中,AfxBeginThread的使用方法都是这样的,请问哪里出错了?紧急,谢谢!
解决方案
解决方案二:
你这样试一试:C/C++codestaticUINT__cdeclSendThreadFunc(LPVOIDlparam);//发送线程控制函数staticUINT__cdeclRecvThreadFunc(LPVOIDlparam);//接收线程控制函数在.cpp文件中调用AfxBeginThread创建线程C/C++codeAfxBeginThread((AFX_THREADPROC)CscanServerDlg::SendThreadFunc,this);AfxBeginThread((AFX_THREADPROC)CscanServerDlg::RecvThreadFunc,this);
解决方案三:
该回复于2008-06-14 13:46:56被版主删除
解决方案四:
在.cpp文件中调用AfxBeginThread创建线程改一下:AfxBeginThread(SendThreadFunc,this);AfxBeginThread(RecvThreadFunc,this);
解决方案五:
你调用的线程函数必须是全局函数,或类的静态函数所以staticUINT__cdeclSendThreadFunc(LPVOIDlparam);//发送线程控制函数staticUINT__cdeclRecvThreadFunc(LPVOIDlparam);//接收线程控制函数
解决方案六:
在.cpp文件中调用AfxBeginThread创建线程改一下:AfxBeginThread(SendThreadFunc,this);AfxBeginThread(RecvThreadFunc,this);
解决方案七:
顶一楼。线程入口函数前需要加那个宏。VS2005自己定的,没办法。
解决方案八:
顶不错
解决方案九:
引用4楼vecri的回复:
你调用的线程函数必须是全局函数,或类的静态函数所以staticUINT__cdeclSendThreadFunc(LPVOIDlparam);//发送线程控制函数staticUINT__cdeclRecvThreadFunc(LPVOIDlparam);//接收线程控制函数
这个是正解。另外为了保险还是AfxBeginThread(SendThreadFunc,(LPVOID)this);AfxBeginThread(RecvThreadFunc,(LPVOID)this);为好。在写com的时候有时候必须得强制转为这些才行。不转不行。。此思想得益于COM。
解决方案十:
传入的this指针代表的是什么呢?
解决方案十一:
正在学习多线程
解决方案十二:
引用9楼zhongyunde的回复:
传入的this指针代表的是什么呢?
this就是当前对象本身的指针.