As per §7.2/5 of the Standard:
Each enumeration also has an underlying type. The underlying type can be explicitly specified using enum-base; if not explicitly specified, the underlying type of a scoped enumeration type is
int
.
(emphasis mine).
On this matter (underlying type), the standard does not make any difference whatsoever between enum
and enum class
/enum struct
.