【问题标题】:How to show the default constructor in Doxygen generated documentation?如何在 Doxygen 生成的文档中显示默认构造函数?
【发布时间】:2019-11-29 14:39:23
【问题描述】:

拥有 A 类:

class A {
public:
    /// @brief constructor taking no param
    A() {}
    /// @brief constructor taking 1 param
    /// @param[in] x x
    A(int x) {}
    /// @brief constructor taking 2 params
    /// @param[in] x x
    /// @param[in] y y
    A(int x, int y) {}
};

使用 Doxygen 生成文档后,“构造函数和析构函数文档”部分将包含构造函数 A(int x)A(int x, int y) 的文档。但不适用于A()

我可以设置任何标志来强制 Doxygen 在类文档的相关部分中包含 A() 的构造函数吗?

编辑:我必须编辑我的原始代码,因为它似乎取决于是否有 @param 默认情况下代码是否记录在“构造函数和析构函数文档”部分中。

Doxygen 1.8.16 版的输出:

【问题讨论】:

  • 这听起来不对。为什么会跳过那个?你能显示截图吗?你确定你在添加构造函数后重建了你的文档吗?
  • 另外相关信息是:您使用的是哪个 doxygen 版本?
  • @LightnessRaceswithMonica 我发布了一个屏幕并做了一个小的编辑。更接近原因,因为似乎我必须添加至少一个 \@param 才能显示构造函数。
  • 顶部怎么样?也许您正在查看的那部分仅列出了带有参数的内容。
  • 请注意,由于复制/粘贴,您记录了x 两次`并且没有评论y

标签: c++ c++11 doxygen


【解决方案1】:

当没有详细文档(或参数文档等)时,方法等默认情况下不会显示在“构造函数和析构函数文档”等详细部分中。通过设置: ALWAYS_DETAILED_SEC=YES 您还将获得“缺失”的构造函数。

注意也看看例如REPEAT_BRIEF.

【讨论】:

    【解决方案2】:

    来自the documentation

    ALWAYS_DETAILED_SEC

    如果ALWAYS_DETAILED_SECREPEAT_BRIEF 标签都设置为YES,那么即使只有简短的描述,doxygen 也会生成一个详细的部分。

    默认值为:NO

    因此,您应该找到最上面列出的 ctor;默认情况下,它只是没有自己的“详细”描述,因为没有详细信息可提供。

    【讨论】:

      【解决方案3】:

      记录的构造函数具有非简短的文档内容。因此,该构造函数没有自己的文档块。它将出现在简短列表中,但不会出现在完整列表中。

      所以你应该给构造函数一些非简短的内容。

      【讨论】:

      • 最好配置工具,而不是在没有保证的文档中破解错误的配置
      • @LightnessRaceswithMonica 我同意这一点。例如,添加一个 @ 参数来强制它被列出感觉是错误的。这确实有效,但不是首选解决方案(至少不是我的)。
      • @LightnessRaces:这完全取决于您是否将其视为“错误配置”。没有非简短内容的记录实体不需要详细条目,因为......它还不够复杂,不需要一个。如果单行就足以解释该功能,那么当简短文档中存在单行时,为什么还需要一大块文本?
      • @NicolBolas Granted - 将“错误配置”替换为“此特定 OP 不需要的配置”:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 2016-12-16
      • 2012-12-10
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      相关资源
      最近更新 更多