Compiler Error: C4482
今天遇到一个奇怪的Compiler Warning:
XXX.h(54) : warning C4482: nonstandard extension used: enum 'NameSpaceX::EnumNameY::EnumValueZ' used in qualified name
后来查了一下MSDN,找到了原因:
http://msdn2.microsoft.com/en-us/library/ms173704.aspx
Compiler Warning (level 1) C4482
Error Message
nonstandard extension used: enum 'enum' used in qualified name
When you refer to an enum inside a type, you do not need to specify the name of the enum.
For more information on CLR enums, see enum class. For more information about native enums, see C++ Enumeration Declarations.
Example
The following sample generates C4482.
// C4482.cpp
// compile with: /c /W1
struct S {
enum E { a };
};
int i = S::E::a; // C4482
int j = S::a; // OK