我在C中编写代码,我遇到以下情况:
typedef struct MyStruct {
/** Some comment */
int (*const (*FuncList)[])(void);
} MyList;
Doxygen返回以下错误:警告:记录符号`int(* const MyStruct :: FuncList'未声明或定义。
它认为Doxygen不理解什么是指向函数指针向量的指针,因为如果我改为更简单的句子就可以了。 我无法改变写这句话的方式,因为我的代码必须符合MISRA。
答案 0 :(得分:2)
我认为你应该通过使用某些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会同意。