mfc线程函数创建出错

voidCKongzhiDlg::thread()//线程{}voidCKongzhiDlg::Onconnect(){CreateThread(NULL,0,(LPTH... void CKongzhiDlg::thread()//线程
{
}

void CKongzhiDlg::Onconnect()
{
CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)thread,NULL,0,thread1);

}

下面是定义
class CKongzhiDlg : public CDialog
{
// Construction
public:
void thread();
}

出错信息
c:\users\lenovo\desktop\hah\kongzhidlg.cpp(346) : error C2440: 'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)'
展开
 我来答
龚炜林
2013-01-17 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:579万
展开全部
线程函数是这样的定义:
DWORD WINAPI ThreadProc(
_In_ LPVOID lpParameter
);
而你声明为成员函数,那么就多了一个this默认参数,且你的方式还少了LPVOID参数
正确的做法是
声明为
static DWORD thread(LPVOIOD);

定义为
DWORD CKongzhiDlg::thread(LPVOID lpvoid)//线程
{
return 0;
}

参考资料: http://msdn.microsoft.com/zh-cn/library/ms682453

luosiyong
2013-01-17 · TA获得超过3256个赞
知道大有可为答主
回答量:1090
采纳率:0%
帮助的人:1625万
展开全部
unsigned long CKongzhiDlg::thread()

这个函数应该要这样声明
追问
要声明成静态
追答
是的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式