http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60994
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- (In reply to Markus Trippelsdorf from comment #1) > Implicit enum to int conversion is not provided for a scoped enumeration. That said it is strange that gcc also rejects a plain enum: markus@x4 /tmp % cat foo.cpp enum A { n = 3 }; int foo() { int A; return A::n; } markus@x4 /tmp % g++ -c -std=c++11 -O3 foo.cpp foo.cpp: In function ‘int foo()’: foo.cpp:10:10: error: ‘A’ is not a class, namespace, or enumeration return A::n; ^