为什么C ++允许向前声明类而不允许枚举?

时间:2019-06-17 16:37:55

标签: 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.

0 个答案:

没有答案