首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于_beginthread 传递参数解决方案

2012-01-15 
关于_beginthread 传递参数intindex1//要把这个传递到_beginthread要怎么做?_beginthread(thrdFunc,0,(v

关于_beginthread 传递参数
int   index   =   1;//要把这个传递到_beginthread要怎么做?
_beginthread(thrdFunc,   0,   (void*)index);//这样会报错   cannot   convert   parameter   1   from   'unsigned   int   (void   *) '   to   'void   (__cdecl   *)(void   *) '

网上说把它定义成一个结构体,我这样
struct   args   {
int   index;
}

args   arg;
arg.index   =   1;
_beginthread(thrdFunc,   0,   (void*)arg);//这样会还是报错     cannot   convert   from   'struct   args '   to   'void   * '
究竟应该怎么改呢

[解决办法]
_beginthread(thrdFunc, 0, (void*)index);//这样会报错 cannot convert parameter 1 from 'unsigned int (void *) ' to 'void (__cdecl *)(void *) '

这个错误是函数定义的原型不对。

_beginthread(thrdFunc, 0, (void*)arg);//这样会还是报错 cannot convert from 'struct args ' to 'void * '
究竟应该怎么改呢
(void*)arg 中的 arg前面缺少地址符号 应该是 (void*)&arg .

热点排行