http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59423
Bug ID: 59423 Summary: Misleading warning when 'enum class' base type unresolved: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gnubugzilla at drewnoakes dot com If the base type of an enum class cannot be resolved, g++ gives a confusing error message: > warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ > keyword An example is given and discussed here: http://stackoverflow.com/q/20459120/24874 enum class FaceDirection : int8 { Down, Up }; In this example, I did not have a typedef for int8 in scope. A better error message would state something similar to: "Unknown type name 'int8'." g++ (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 on Ubuntu 13.10, installed from Ubuntu's repositories. Compiling using -std=c++11.