帮我看看,不知道怎么弄?

kylewell 2011-01-18 11:12:59
多线程中传递一个int类型的参数:

DWORD WINAPI ThreadFunc(LPVOID integer)
{

int i;
int v=*((int *)integer);
for(i=0;i<v;i++)
{
Beep(200,50);
Sleep(1000);
}

return 0;
}

void CMultiThread2Dlg::OnBnClickedStart()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
int integer=m_nCount;
hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFunc,(VOID *)&integer,0,&ThreadID);
GetDlgItem(IDC_START)->EnableWindow(FALSE);
WaitForSingleObject(hThread,INFINITE);
GetDlgItem(IDC_START)->EnableWindow(TRUE);
}


编译的时候发生异常:
错误 1 error LNK2019: 无法解析的外部符号 "private: static unsigned long __stdcall CMultiThread2Dlg::ThreadFunc(void *)" (?ThreadFunc@CMultiThread2Dlg@@CGKPAX@Z),该符号在函数 "public: void __thiscall CMultiThread2Dlg::OnBnClickedStart(void)" (?OnBnClickedStart@CMultiThread2Dlg@@QAEXXZ) 中被引用 d:\visual studio 2010\Projects\MultiThread2\MultiThread2\MultiThread2Dlg.obj MultiThread2


请问怎么弄?
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
手机写程序 2011-01-18
  • 打赏
  • 举报
回复
CMultiThread2Dlg::ThreadFunc(void *)是什么?
fandh 2011-01-18
  • 打赏
  • 举报
回复
上门的代码,在一个文件里面?
快乐鹦鹉 2011-01-18
  • 打赏
  • 举报
回复
DWORD WINAPI ThreadFunc(LPVOID integer)改成
DWORD WINAPI CMultiThread2Dlg::ThreadFunc(LPVOID integer)
这里ThreadFunc函数你在头文件中是定义在CMultiThread2Dlg类中的,所以cpp中也必须加上类域
shenyi0106 2011-01-18
  • 打赏
  • 举报
回复
CMultiThread2Dlg::ThreadFunc(void *)

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧