Doxygen 混淆了函数文档和内部文档 class

Doxygen confused between documentation of function and inner class

Doxygen 1.8.10

在 class 中,我有一个函数,其中声明了一个内部 class。

/*! This is a test class 
*/ 
class TestClass { 

/*! \brief A function which does something 
 *  \param param_A this is the first parameter of doSomething function 
 *  \param param_B this is the second parameter of doSomething function 
 */ 
void doSomething(int param_A, int param_B) { 

/*! This is an inner Test Class 
*/ 
class InnerTestClass { 

/*! \brief A constructor for InnerTestClass 
 *  \param param_C this is the parameter for the InnerTestClass inner class constructor 
 */ 
InnerTestClass (int param_C) { 

} 

} 

当我为上述 class 生成 doxygen 文档时,函数 doSomething 和内部 class InnerTestClass 的文档之间发生了混淆。

  1. 没有创建名为 classInnerTestClass.html 的内部 class 文档文件。
  2. 在classTestClass.html的文档中,InnerTestClass的文档包含在函数的文档中,如下:

    doSomething(int param_A 整数 param_B )

一个做某事的函数

参数 param_A 这是doSomething函数的第一个参数 param_B这是doSomething函数的第二个参数

这是一个内部测试Class

参数 param_C这是InnerTestClass内部class构造函数

的参数
  1. 显示的警告消息表明 param_A 和 param_B 未记录,并且在 doSomething 的参数列表中未找到 param_C。
在 functions/methods 中定义的

Structs/Classes 被视为实现细节,无法记录(就像您无法记录单个 for 循环或 if 语句一样)。

将 doxygen 视为记录 public API 的工具。如果您还想显示实现,请使用普通注释对其进行记录,并在配置文件中将 INLINE_SOURCES 设置为 YES