3

enum classVisual C++ 2012には、次の 2 つの矛盾する定義があります。

  • C++11 の型安全バージョンenum
  • C++/CLI の派生型であり、静的な const 整数メンバーを持つSystem::Enumに相当します。ref class

/clr スイッチを有効または無効にすると意味がenum class変わりますか?

4

1 に答える 1

7

マネージ列挙には、アクセス指定子 ( または のいずれpublicprivate) が必要です。C++11 スコープ列挙には、アクセス指定子があってはなりません。例えば、

enum class E { e0 };

public enum class F { f0 };
private enum class G { g0 };

EC++、C++/CLI、および C++/CX で有効で、通常の C++ スコープの列挙です。

FおよびGC++/CLI および C++/CX でのみ有効であり、マネージ列挙 (C++/CLI の場合) または Windows ランタイム列挙 (C++/CX の場合) を指定します。

于 2012-10-03T00:07:00.620 に答える