私は自分のコードの一部を文書化するために Doxygen を使用しています。ヘッダーで指定されているデフォルトの引数を使用する関数があります。
unsigned int CountColumns(const std::string&,const std::string& delim="");
ソースファイル内の対応する実装は次のとおりです。
unsigned int CountColumns(const string& input,const string& delim)
{
...
}
Doxygen を使用してドキュメントを生成すると、CountColumns には 2 つのエントリがあります。1 つはデフォルト値を含み、もう 1 つは含まないものです。
unsigned int CountColumns (const string &input, const string &delim)
unsigned int CountColumns (const std::string &, const std::string &delim="")
どうすればこれを回避できますか? 複数の関数定義によってドキュメントが乱雑になるのは望ましくありません。
編集:以下の私の回答でも述べたように、問題はヘッダーファイルが引数に「std::string」を使用しているのに対し、ソースファイルには「using std::string」が含まれていることが原因のようですステートメントを使用し、引数で「string」を使用します。ソースファイルでも 'std::string' を使用するように関数定義を変更すると、Doxygen はヘッダーで宣言されたものと同じ関数であると認識します。