Почему должен быть указан размер перечисления, если оно объявлено заранее?

Я просто не понимаю, почему размер перечисления важен для компилятора, а размер класса - нет.

Мой пример кода:

class A;
enum E;   // must be enum E : int; in order to compile 

void f(const A & param);
void f(const E & param);

Я говорю здесь о стандартных компиляторах C ++. Я знаю, что MSVC позволяет его компилировать и работает нормально. Итак, вопрос:

Почему это не было стандартизировано?

Ответы на вопрос(0)

Ваш ответ на вопрос