N
enum E : uint16_t;
, а definition enum E : uint16_t {a, b, c};
? В таком случае forward declared enum можно было бы использовать в определении класса, как тип данного-члена, не раскрывая деталей реализации.https://en.cppreference.com/w/cpp/language/enum
enum name : type ; (3) (since C++11)http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
enum struct|class name ; (3)
enum struct|class name : type ;