Doxygen忽略默认参数值 我用DOXYGN记录C++代码,并决定只在实现文件(函数定义)之上这样做,以便头文件(函数声明)保持小。

Doxygen忽略默认参数值 我用DOXYGN记录C++代码,并决定只在实现文件(函数定义)之上这样做,以便头文件(函数声明)保持小。,c++,doxygen,C++,Doxygen,标题: std::string color_to_hex( const Color& c, std::string prefix = "#", bool uppercase = false ); 实施: /** * @brief ... */ std::string color_to_hex( const Color& c, std::string prefix, bool uppercase ) { //

标题:

std::string color_to_hex( 
    const Color& c, 
    std::string prefix = "#", 
    bool uppercase = false 
);
实施:

/**
 * @brief ...
 */
std::string color_to_hex(
    const Color& c, 
    std::string prefix, 
    bool uppercase
) {
    // ...
}
现在,在Doxygen生成的文档中,参数的默认值(
“#”
false
)不会出现

我试过:

  • 使用@param标记。不起作用,不显示默认参数值
  • 将文档块移动到声明中。工作,但如前所述,不是我想要的
  • 向声明中添加最小文档块(
    /***/
    )。什么也没发生
  • 向页眉添加其他(不同)文档块。正如预期的那样,文档现在包含这两个文本,但没有出现默认值
  • 将相同的文档块添加到声明中。Doxygen足够聪明,可以实现这一点,并且只输出文本一次。但是,没有默认的参数值

关于如何实现这一点,您有什么想法吗?

文档应该放在头文件中,主要是出于一些好的原因。您能说出这些原因或提供一个链接吗?否则,你的评论没有什么帮助。多输入一些,谢谢!一个常见的建议似乎是将API文档放在声明旁边,将实现文档放在定义旁边。看起来很合理。但是,如果我这样做,我仍然有消失默认参数值的问题。简言之:对实际问题有什么想法吗?