The jonki

呼ばれて飛び出てじょじょじょじょーんき

【C++】 C4482: 非標準の拡張機能が使用されています: enum

追記2012/03/12
Visual Studio 11 βでは大丈夫っぽい。C++標準になったということで。

    • -

こんなenumを用意していて、

class MyClass {
public:
	enum AUDIO_MODE
	{
		DEFAULT = 0,	//!< default
		PLAY    = 1,
		RECORD  = 2,	
		RECOG   = 3,	//!< recognize
	};
}

MyClass::AUDIO_MODE::DEFAULTとアクセスすると…

C4482: 非標準の拡張機能が使用されています: enum 'MyClass::AUDIO_MODE' が限定名で使用されます


回避方法発見。
コンパイラの警告 (レベル 1) C4482 非標準の拡張機能が使用されています: enum 'enum' が限定名で使用されます


MyClass::DEFAULTとタグ名は必要ないらしい。まぁ、それは分るんだけどタグ名も入れた方が、分りやすいんだよなぁ。長くなるけど。