windchen
驱动牛犊
驱动牛犊
  • 注册日期2004-08-11
  • 最后登录2010-01-14
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1967回复:5

关于_beginthread的使用出错

楼主#
更多 发布于:2005-03-10 09:49
我申明了一个void Thread(PVOID pvoid),在_beginthread(Thread,0,NULL)来调用,编译时出现了
  _beginthread:cannot convert parameter 1 from \'void (PVOID)\' to \'void (_cdecl *)(void *)\'      None of the functions with this name in scope match the traget type.
请问这个是什么原因?谢谢
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-10 10:25
_beginthread(Thread,0,NULL)
改为
_beginthread(&Thread,0,NULL)
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-10 18:13
我申明了一个void Thread(PVOID pvoid),在_beginthread(Thread,0,NULL)来调用,编译时出现了
  _beginthread:cannot convert parameter 1 from \'void (PVOID)\' to \'void (_cdecl *)(void *)\'      None of the functions with this name in scope match the traget type.
请问这个是什么原因?谢谢


我想你是没有声明

void Thread(PVOID pvoid);//声明

void Thread(PVOID pvoid)
{
....
}
void main()
{
...
_beginthread(Thread,0,NULL);
...
}

[编辑 -  3/11/05 by  snowStart]
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
zmwk
驱动中牛
驱动中牛
  • 注册日期2001-05-15
  • 最后登录2009-04-05
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望51点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-17 21:58
snowStart说的没错!
而且你的Thread参数可以是多种类型指针。
例如:
Thread(int * pnParam);

多线程一定要注意对象生存期。
A strong man can save himself. A great man can save another.
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
地下室#
发布于:2007-03-01 12:49
我也遇到同类问题,谢谢各位
mcu_boy
ytwei
驱动小牛
驱动小牛
  • 注册日期2005-04-01
  • 最后登录2010-07-30
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望102点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-03-05 13:24
以上的看法有问题,编译问题是因为线程执行例程应该定义成__cdecl,即void  __cdecl Thread(PVOID pvoid)
游客

返回顶部