https://stackoverflow.com/questions/18335861/why-is-enum-class-considered-safer-to-use-than-plain-enum
普通的枚举类型和class枚举类型
enum class Color { red, green, blue }; // enum class
enum Animal { dog, cat, bird, human }; // plain enum
两者的区别在于前者的值不会隐方式的转换为其他的类型(比如其他类型的enum或者int)
而后者会隐方式的转换为int类型或者其他的enum类型
就是说如果你不按照规范使用的话,编译是通不过的