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

函数调用的疑点

2012-08-28 
函数调用的疑问在我阅读的工程代码中是这样的if(wnd[cur_win].wnd_lb_dn)wnd[cur_win].wnd_lb_dn(keyval.p

函数调用的疑问
在我阅读的工程代码中是这样的
if(wnd[cur_win].wnd_lb_dn)
wnd[cur_win].wnd_lb_dn(keyval.pt);


就是说 if(a.fun) //函数不带参数  
  a.fun(param); //函数带参数

感觉难以理解

[解决办法]
函数指针把

typedef void (*p)();

p pfun;

if(pfun != NULL)

[解决办法]
有道理。如果是楼主说的不带参数的函数,那么至少函数后面得有个括号呀

探讨
函数指针把

typedef void (*p)();

p pfun;

if(pfun != NULL)

[解决办法]
C/C++ code
if(wnd[cur_win].wnd_lb_dn)          //wnd_lb_dn应该是个函数指针,这句话就是判断如果函数存在wnd[cur_win].wnd_lb_dn(keyval.pt);  //就调用该函数。
[解决办法]
if(NULL!=wnd[cur_win].wnd_lb_dn)
wnd[cur_win].wnd_lb_dn(keyval.pt);

热点排行