Ответ 1
Спецификатор const
игнорируется в спецификации enum-base; который просто ожидает, что интегральный тип будет использоваться в качестве базового типа перечислимого типа, указание const
(или volatile
) не имеет особого смысла.
(акцент мой)
двоеточие (:), за которым следует спецификатор типа-seq, который называет целочисленный тип (если он квалифицирован cv, квалификации игнорируются), который будет служить фиксированным базовым типом для этого типа перечисления
Из стандарта [dcl.enum]/2:
(акцент мой)
Тип-спецификатор-seq базы перечислений должен называть целочисленный тип; любая квалификация cv игнорируется.