读书人

函数调用的疑点

发布时间: 2012-08-28 12:37:01 作者: rapoo

函数调用的疑问
在我阅读的工程代码中是这样的
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);

读书人网 >C语言

热点推荐