问题描述
在下面的示例中,生成的doxygen文件将仅将#mystruct和mystruct转换为指向mystruct定义的链接。无论如何,mytype,myenum和FirsT_ELEMENT是否具有相同的行为,或者说是doxygen的固有限制?
typedef enum myenum {
FirsT_ELEMENT,/**< Some example. */
SECOND_ELEMENT,/**< Some other example. */
} myenum;
typedef int16_t mytype; /**< some example */
typedef struct mystruct {
mytype x; /**< my member */
} mystruct;
/**
* @brief My test function.
*
* This function uses #mytype,#mystruct and #myenum.
*
* @param[in] x input 1.
* @param[in] y input 2.
* @param[in] z input 3 expected to be #FirsT_ELEMENT.
*/
void foo(mytype x,mystruct y,myenum z);
解决方法
我所描述的一切实际上都按预期运行。
记录下我在这里犯的错误,以防其他人也犯同样的错误。
我的错误是,在我拥有的代码库中(不是在此显示的示例),我的函数与defgroup分组在一起,而不是我的类型声明分组在一起。显然,在类型周围没有defgroup允许struct定义仍然可见并链接到html中,但其他类型则不允许。