8

doxygenを使用して文書化するc++プロジェクトがあり、クラスのヘッダー内にdoxygenコメントのみを配置し、cpp内に静的関数を文書化します。

私たちのdoxygen構成ファイルは、プロジェクト内のヘッダー/ hpp)/実装/ cpp)ファイルを収集します。さらに、名前空間内で分離する独立したコンポーネント(および外部)がかなりあります。

プロジェクトは、ポリモーフィズムを使用する方法で行われます(プロキシパターンの広範な使用による)

一般的な方法であるため、ヘッダー内でusingディレクティブを禁止し、実装ファイルで使用します。

通常、ヘッダーには次のものがあります。

/**
 * @brief
 *   test from A
 */
void f(N1::N2::A);
/**
 * @brief
 *   test from A
 */
void f(N1::N2::B);

実装の中には、

using namespace N1::N2;

void f(A) { }
void f(B) { }

doxygenを実行しているとき、彼は混乱しているように見え、エラーメッセージを生成します。

warning: no uniquely matching class member found for f(A)
possible candidates:
void f(N1::N2::A)
void f(N1::N2::B)

これらのエラーを取り除き、doxygenに「using」ディレクティブを認識させる方法はありますか?

編集

  • 悪いニュース、バグトラッカーで開かれているようです:https ://bugzilla.gnome.org/show_bug.cgi?id = 617285 、https://bugzilla.gnome.org/show_bug.cgi?id = 154880:私のように見えますクリーンな解決策ではなく、回避策を探しています。
4

1 に答える 1