2

テンプレートを含むいくつかの C++ ソース コードがあります。たとえば、doxygen はエラーなしで実行されますが、出力にドキュメントが追加されません。何が起こっているのでしょうか?

///
/// A class
///
class A
{
  ///
  /// A typedef
  ///
  typedef B<C<D>> SomeTypedefOfTemplates;
};
4

2 に答える 2

6

doxygen は現在、右シフト演算子でテンプレートを閉じることをサポートしていることに注意してください (バージョン 1.6.0 以降)。

問題と実装された解決策に関する議論については、http://bugzilla.gnome.org/show_bug.cgi?id=560512も参照してください。

于 2009-08-27T20:24:12.810 に答える
4

ええ、何が起こっているのかというと、テンプレートのインスタンス化は偽物です。そのような ">>" はあいまいで、コンパイル時のエラーを意味します。おそらくあなたのコンパイラ(VC++)がそれをすり抜けたので、あなたはそれを見ることができませんでしたが、doxygenはそれについてより厳格だったと思います. 図のようにスペースを追加します。

///
/// A class
///
class A
{
  ///
  /// A typedef
  ///
  typedef B<C<D> > SomeTypedefOfTemplates;
};
于 2008-10-16T19:57:21.403 に答える