关于MFC多线程的一个疑惑 始终编译通不过?求解答

[复制链接]
查看11 | 回复3 | 2013-4-19 12:54:01 | 显示全部楼层 |阅读模式
CreateThread的那个函数不可以是类的非静态成员函数你可以写一个函数来包装一下它。看你在用MFC吧,用AfxBeginThread代替CreateThread是正确的做法。不过AfxBeginThread的用法我不清楚因为我不用MFC……具体说来,比如这样class CMultiThread1Dlg {...static DWORD CALLBACK CallThreadFunc(LPVOID p);...};DWORD CALLBACK CMultiThread1Dlg::CallThreadFunc(LPVOID p){CMultiThread1Dlg* dlg = (CMultiThread1Dlg*) p;dlg->Thre...
回复

使用道具 举报

千问 | 2013-4-19 12:54:01 | 显示全部楼层
线程函数的格式问题,void没有返值是不行的。线程说明中明确指出了:DWORD WINAPI ThreadProc (LPVOID lpParam) ,格式不正确将无法调用成功。...
回复

使用道具 举报

千问 | 2013-4-19 12:54:01 | 显示全部楼层
自己转到定义看看LPTHREAD_START_ROUTINE是什么类型.你的线程函数应该定义为 DWORD CALLBACK ThreadProc(PVOID context);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行