Doxygen使用默认参数重复c ++函数

Whe*_*050 5 c++ doxygen

我正在使用Doxygen来记录我的一些代码.我有一个使用默认参数的函数,它在标题中指定,即:

unsigned int CountColumns(const std::string&,const std::string& delim="");
Run Code Online (Sandbox Code Playgroud)

以及源文件中的相应实现如下:

unsigned int CountColumns(const string& input,const string& delim)
{
   ...
}
Run Code Online (Sandbox Code Playgroud)

当我使用Doxygen生成我的文档时,CountColumns有两个条目 - 一个包含默认值,另一个没有:

unsigned int    CountColumns (const string &input, const string &delim)
unsigned int    CountColumns (const std::string &, const std::string &delim="")
Run Code Online (Sandbox Code Playgroud)

如何避免这种情况?我不希望多个函数定义混乱我的文档.

编辑:正如我在下面的回答中提到的,问题似乎是由于头文件在参数中使用'std :: string',而源文件包含'using std :: string'声明然后在参数中使用'string'.如果我改变函数定义以在源文件中使用'std :: string',Doxygen会将其识别为与标头中声明的函数相同的函数.

dox*_*gen 5

我建议设置BUILTIN_STL_SUPPORTYES您的配置文件,所以doxygen的知道字符串在std命名空间中定义的类.