c++c++11g++enum-classelaborated-type-specifier

Elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword


I have the following enum specification:

enum class FaceDirection : int8
{
  Down,
  Up
};

g++ 4.8.1 gives the following error:

warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword

What causes this?


Solution

  • Check the type you are deriving the enum class from exists. In this case, there was no typedef specified for int8.