我正在用 C 编写代码,但遇到以下情况:
typedef struct MyStruct {
/** Some comment */
int (*const (*FuncList)[])(void);
} MyList;
Doxygen 返回以下错误:警告:记录的符号 `int (*const MyStruct::FuncList' 未声明或定义。
它看出 Doxygen 不理解什么是指向函数指针 vector 的指针,因为如果我换成一个更简单的句子它就可以工作。 我不能改变写这句话的方式,因为我的代码必须符合 MISRA。
最佳答案
我认为您应该通过使用一些 typedef 来帮助 doxygen(以及您代码的读者),例如
/** A function pointer */
typedef int (*TFuncPtr)(void);
/** const pointer to an array of TFuncPtr's */
typedef TFuncPtr (*const TFuncList)[];
typedef struct MyStruct {
/** Some comment */
TFuncList FuncList;
} MyList;
我很确定 MISRA 会同意。
关于c - 如何使用 Doxygen 记录指向函数指针 vector 的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21017218/