标签: c++ enums forward-declaration
我知道这可能是一个重复的问题。但是,有关问题的答案都没有使我信服。
我的问题是:为什么C ++允许向前声明类而不允许枚举?
我了解,如果您指定枚举的基础类型或在C ++中使用枚举类,则可以转发声明枚举类型。但是C ++为什么需要知道基础类型的大小?
enum E; void foo(E e); // Error class C void bar(C c); // Correct, Compiler doesn't know the size of class C either.