在分析一个源码源码的时候看到了这么一句话:
typedef action_t* (*rule_t)(const sandbox_t*, const event_t*, action_t*);
。。。然后我就晕了。。。
呃。。。仔细看了看。。然后就明白了……
就是说一个叫做action_t类型的东西是个函数指针。。。(rule_t)是返回值类型,(const sandbox_t*, const event_t*, action_t*)是参数表
在分析一个源码源码的时候看到了这么一句话:
typedef action_t* (*rule_t)(const sandbox_t*, const event_t*, action_t*);
。。。然后我就晕了。。。
呃。。。仔细看了看。。然后就明白了……
就是说一个叫做action_t类型的东西是个函数指针。。。(rule_t)是返回值类型,(const sandbox_t*, const event_t*, action_t*)是参数表
很显然不是你说的那样!
action_t* 才是返回来型
rule_t 才是函数指针的名字
后面才是参数表
其实不应该这么说,应该说,rule_t是一个函数指针,它指向的函数的signature是类似于下面这样的:
action_t* func(const sandbox_t*, const event_t*, action_t*);
3 回答1.2k 阅读✓ 已解决
1 回答994 阅读✓ 已解决
4 回答786 阅读
1 回答861 阅读
1 回答893 阅读
1 回答659 阅读
1 回答771 阅读
rule_t是typedef的名字,代表