如题,我是这样调用线程的 AfxBeginThread((AFX_THREADPROC)tf_Check_Installsoftware(0),0);线程函数如下:UINT Installing::tf_Check_Installsoftware(LPVOID pParam){//函数里什么都不执行return 0;}退出时出现错误 File:f:\dd\vctools\vc7libs\ship\atlmc\src\mfc\thrdcore.cpp Line:304根据提示 找到了如下一行代码 ASSERT(pfnThreadProc != NULL);到此云里雾里 实在不知道是怎么回事。小弟新手,刚接触多线程,望大虾们不吝赐教!!
3 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
AfxBeginThread中,给tf_Check_Installsoftware函数的传参出错了!!!
正确给线程函数传参的方式为通过AfxBeginThread函数的第二个参数,而第一个参数仅仅是传参线程的入口函数。正确的调用方式为:
AfxBeginThread((AFX_THREADPROC)tf_Check_Installsoftware, 0);
千万里不及你
TA贡献1784条经验 获得超9个赞
ASSERT(pfnThreadProc != NULL);
这句代码什么意思?
ASSERT 是c++的一个异常处理,当后面的语句为FALSE 时 会报错
那说明什么? 说明你的线程的句柄都没释放
添加回答
举报
0/150
提交
取消