我试图用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)
这会生成我期望的文档:
有谁知道这里发生了什么?我做错了导致这种(显然)不可预测的行为吗?