1

ツールセットにDoxygenを追加したばかりで、ほとんどのテクニックに慣れていますが、列挙型フラグを文書化する方法について少し混乱しています(Doxygenの有無にかかわらず、一般的な文書化にも適用できます)。 。次のクラスがあるとします。

class foo
{
   /// @enum  Options
   /// @brief Specifies options for the object. Options are combined using
   ///        the bitwise OR operator e.g. "OPTION1 | OPTION2".
   enum Options
   {
   OPTION1 = 1, //< Option 1 description.
   OPTION2 = 2, //< Option 2 description.
   OPTION3 = 4  //< Option 3 description.
   };

   /// @brief Does something.
   /// @param options  Specifies options.
   void bar(int options) {/* Do something */}
};

バー関数のオプションパラメータの使用方法をユーザーに示すにはどうすればよいですか?パラメータはOptionsではなくint型であるため、パラメータと列挙型の間に直接リンクはありません。パラメータのタイプがOptionsの場合、ドキュメントは列挙型の説明にリンクします。これは、私が望む動作です。

4

2 に答える 2

2

したがって、引数の型をOptionsOptionsハンドルに戻るオーバーロードされた演算子&|、必要なその他の論理演算子を記述できます。

于 2012-11-29T21:42:48.287 に答える
1

options「オプションの指定」という名前の変数を文書化することは、意味のあるコメントではありません。変数名は、既存のコメントの内容をすでに示しています。したがって、コメントを意味のあるものにします。

/// @brief Does something.
/// @param options  Specifies options for the object, which must be a bitwise OR
///                 of zero or more of the bit flags in enum foo::Options.
void bar(int options) {/* Do something */}
于 2012-11-29T22:10:51.770 に答える