调用CreateThread时的遇到的问题?

tangchaofei 2004-03-29 07:24:03
调用CreateThread时,第三个参数即线程函数有问题
'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)'
None of the functions with this name in scope match the target type
请问大虾如何解决, 在线等!!!!!!!!!!
...全文
52 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyxie 2004-03-31
  • 打赏
  • 举报
回复
'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)'
None of the functions with this name in scope match the target type


你的调用和线程函数的实现应该都没有问题,可能是其他原因引起的。

1.确认线程函数是全局函数(或类静态函数)

2.在调用CreateThread之前声明线程函数

3.看看SendProc的附近有没有什么拼写错误导致编译器无法识别SendProc函数类型。从报的错看来就是编译器没有正确识别到SendProc的类型。
suntt 2004-03-31
  • 打赏
  • 举报
回复
HANDLE hThread;
DWORD dwParam=1;
DWORD dwThreadID;
hThread=CreateThread(
NULL, //no security attributes
0, //use the default value,mean the stack is 1M
ThreadProc, //the callback
&dwParam,
0,
&dwThreadID);

bm1408 2004-03-30
  • 打赏
  • 举报
回复
一般情况下要定义一全局函数和静态成员函数
liukeke 2004-03-30
  • 打赏
  • 举报
回复
linxy2002 2004-03-30
  • 打赏
  • 举报
回复
一定是成员函数没有声明为static,这个错误我犯过啊,呵呵
greensofter 2004-03-29
  • 打赏
  • 举报
回复
全局函数
DWORD WINAPI SendProc(LPVOID lParam)
{
}
或定义为静态成员函数
on_shift 2004-03-29
  • 打赏
  • 举报
回复
哦,错了,是AfxBeginThread(SendProc, NULL);
on_shift 2004-03-29
  • 打赏
  • 举报
回复
AfxCreateThread(SendProc, NULL);
Jiaft3000 2004-03-29
  • 打赏
  • 举报
回复
你的线程函数可能写得有点问题,如果没有问题就试试强制类型转换
elssann 2004-03-29
  • 打赏
  • 举报
回复
DWORD dwThreadId;

HANDLE hThread = CreateThread(
NULL,
0,
SendProc,
NULL,
0,
&dwThreadId);



DWORD WINAPI SendProc(LPVOID lParam)
{
}
gufengduyu 2004-03-29
  • 打赏
  • 举报
回复
你的线程函数怎么定义的
代码贴出来

15,471

社区成员

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

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