很简单的线程调用出错的问题,解决立刻给分,谢谢

albert1k 2004-12-23 12:00:05
调用
if(dlg.DoModal()==IDOK)
{
m_sGetPath=dlg.GetPathName();
UpdateData(FALSE);

AfxBeginThread(SendDataThread,this,THREAD_PRIORITY_NORMAL);
}
线程函数
UINT SendDataThread(LPVOID lpParam)
{
return 0;
}
错误提示
D:\sockettest\host\hostDlg.cpp(477) : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
...全文
87 点赞 收藏 9
写回复
9 条回复
oyljerry 2004年12月23日
线程函数为静态成员函数,
回复 点赞
leecyi 2004年12月23日
UINT SendDataThread(void lpParam)
{
return 0;
}
回复 点赞
老夏Max 2004年12月23日
unsigned __stdcall SendDataThread(LPVOID lpParam)
{
return 0;
}
回复 点赞
SatanLi1982 2004年12月23日


UINT __cdecl SendDataThread(LPVOID lpParam)
{
return 0;
}
回复 点赞
hjunxu 2004年12月23日
AfxBeginThread(SendDataThread,this,THREAD_PRIORITY_NORMAL);
改成
AfxBeginThread(SendDataThread,(LPVOID)this,THREAD_PRIORITY_NORMAL);
试试。
回复 点赞
hjunxu 2004年12月23日
你是不是还有另外一个函数叫做SendDataThread啊?
回复 点赞
hjunxu 2004年12月23日
不知道要不要加上WINAPI这种修饰的
回复 点赞
HunterForPig 2004年12月23日
UINT SendDataThread(LPVOID lpParam)
你是不是把它定义在类里面了
如是在类里面要设置为静态成员函数,
要不,就把定义移到类外!
回复 点赞
albert1k 2004年12月23日
都试了呀,不好使呀,麻烦大哥们再给看看啊!
回复 点赞
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6376

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告