【发布时间】:2019-11-05 13:12:10
【问题描述】:
我对使用预定义的回调类型定义函数感兴趣。
假设我已经定义了回调类型:
typedef BOOL (*is_trigger_required_cb)(void);
现在我想使用上述类型声明和定义一个函数。
我想做这样的事情:
is_trigger_required_cb my_func { /* function implementation which accepts void and returns BOOL */ }
由于以下原因无法编译:
错误:预期为 ';'在顶级声明符之后
据我了解,这是不可能的,因为编译器仅将回调类型称为类型安全的函数指针,不能用于函数定义。如果回调类型发生变化,它会破坏编译,从而保持类型安全。
【问题讨论】: