VS2003、マネージC ++からのこのコードスニペットがあり、2010 C ++ / CLIの方法で書き直したいのですが、新しいコンパイラは「feature_all」列挙型を受け入れません。誰かが正しく変換する方法を教えてもらえますか?
これはVS2003のスニペットです。
[Flags]
__value enum Features: unsigned int
{
feature_1 = 1,
feature_2 = 2,
feature_3 = 4,
feature_all = feature_1 | feature_2 | feature_3 // accepted by compiler
};
VS2010で次のように書いてみました。
[FlagsAttribute]
value class enum Features: unsigned int {
feature1 = 1,
feature2 = 2,
feature3 = 4,
feature_all = feature_1 | feature_2 | feature_3 // not accepted by compiler
};
しかし、2番目は間違いなく機能していません...
コンパイラは7つのエラーを返します:(C2332、C2236、3x C2065、C2056およびC3115)