函数调用的疑问
在我阅读的工程代码中是这样的
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)
[解决办法]
有道理。如果是楼主说的不带参数的函数,那么至少函数后面得有个括号呀
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);