Doxygen(1.8.8)将C++构造函数/公共成员函数放在组页面而不是类页面上

jwi*_*ley 7 c++ doxygen

我试图用Doxygen记录我的一些代码.我有一个库,我称之为Doxygen组,并且有许多类在单独的头文件中.许多构造函数在类页面上显示为公共成员函数,但它们的文档显示在组页面上,而不是在类页面的构造函数&& Destructors部分中.有些不是; 我还没有确切地想出这个模式.

这是一个失败的:

/**
 * @addtogroup gr_espresso
 * @{
 */

/**
 * @file ToyTagger.hh
 */
...
namespace Espresso {
  ...
  /**
   * @class ToyTagger
   * @brief Fake tagging algorithm
   * @details ...
   *
   */
  class ToyTagger {
  public:

    /**
     * @brief Simple constructor.
     * @details ...
     */
    ToyTagger(CalibrationMode _mode, const Distribution& _pdf, const Calibration* _smear_cal = nullptr);
    ...
  }
}
/**
 * @}
 */
Run Code Online (Sandbox Code Playgroud)

为ToyTagger类生成以下文档:

在此输入图像描述

上面以伪代码显示的构造函数列在Public Member Functions下,但不在Constructors&Destructor文档下.相反,"更多信息"链接会指向gr_espresso组的页面.对于另一个构造函数,以及三个成员函数之一,情况也是如此:

在此输入图像描述

我没有显示第二个构造函数或三个成员函数的代码,但没有明显的区别.

另一方面,这是一个成功的:

/**
 * @addtogroup gr_espresso
 * @{
 */

/**
 * @file StandardCalibration.hh
 */
...
namespace Espresso
{
  ...
  class StandardCalibration : public Calibration {
  public:
   /**
    * @brief Default constructor
    * @details Simple constructor that creates a trivial calibration
    * where \f$\omega(\eta) = \eta\f$
    */
    StandardCalibration();
    ...
  }
}

/**
 * @}
 */
Run Code Online (Sandbox Code Playgroud)

这会生成我期望的文档:

在此输入图像描述

有谁知道这里发生了什么?我做错了导致这种(显然)不可预测的行为吗?

Tho*_*oub 1

您应该尝试生成MCVE来跟踪问题。

另外,尝试检查您添加到哪个组的文件:有时它可能会导致奇怪的行为......