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

关于函数指针的用法解决办法

2013-01-02 
关于函数指针的用法typedefvoid(*_HMI_ProcessDone)(void *pclisrvctl,void *pglctl,long errcode)_HMI_P

关于函数指针的用法
typedefvoid(*_HMI_ProcessDone)(void *pclisrvctl,void *pglctl,long errcode);
_HMI_ProcessDoneoncmddone;
gDataClient.getfile.oncmddone = getfile_ProcessDone;

请问各位高手,getfile_ProcessDone这个函数调用时的参数怎么传递的啊 ,运行的时候直接进了这个函数,但是我不清楚参数从那个地方传进去的
[解决办法]

引用:
voidgetfile_ProcessDone(void *pclisrvctl,HMI_Packet *rcvpkt,long errcode)  {
if(errcode < 0)
printf("error code : %d\r\n",errcode);
else
printf("transfer OK in %d ms!\r\n",_ADProtoco……


gDataClient.getfile.oncmddone = getfile_ProcessDone;//貌似只是赋值,除非oncmddone对operator =进行了重载

[解决办法]
引用:
voidgetfile_ProcessDone(void *pclisrvctl,HMI_Packet *rcvpkt,long errcode)  {
if(errcode < 0)
printf("error code : %d\r\n",errcode);
else
printf("transfer OK in %d ms!\r\n",_ADProtoco……

gDataClient.getfile.oncmddone = getfile_ProcessDon//这句话只是对函数指针赋值
调用的时候一般应该是这样子:
oncmddone = gDataClient.getfile.oncmddone
oncmddone(....)//这里面进行传参
[解决办法]
gDataClient.getfile.oncmddone = getfile_ProcessDone;

这句话只是函数指针的赋值,使函数指针oncmddone指向getfile_ProcessDone。
肯定还有具体使用函数指针oncmddone的地方。
比如:*gDataClient.getfile.oncmddone(...参数...)

建议用SourceInght之类的工具,在所有代码中搜索oncmddone关键字。
找到具体使用oncmddone 的地方。

热点排行