我正在使用 Doxygen 来记录我的一些代码。我有一个使用默认参数的函数,该参数在标题中指定,即:
unsigned int CountColumns(const std::string&,const std::string& delim="");
以及源文件中的相应实现为:
unsigned int CountColumns(const string& input,const string& delim)
{
...
}
当我使用 Doxygen 生成文档时,CountColumns 有两个条目 - 一个包含默认值,一个不包含:
unsigned int CountColumns (const string &input, const string &delim)
unsigned int CountColumns (const std::string &, const std::string &delim="")
如何避免这种情况?我不希望多个函数定义弄乱我的文档。
编辑:正如我在下面的回答中也提到的那样,问题似乎是由于头文件在参数中使用“std::string”,而源文件包含“使用 std::string”声明,然后在参数中使用“字符串”。如果我在源文件中更改函数定义以使用“std::string”,Doxygen 会识别它与标题中声明的函数相同。