转发在C ++中声明一个枚举
我正在尝试做类似以下的事情:
enum E;void Foo(E e);enum E {A, B, C};
编译器拒绝的。我已经快速浏览了一下Google,而且共识似乎是“你做不到”,但我无法理解为什么。谁能解释一下?
澄清2:我这样做是因为我在类中使用私有方法来获取枚举,并且我不希望枚举枚举值 - 例如,我不希望任何人知道E被定义为
enum E { FUNCTIONALITY_NORMAL, FUNCTIONALITY_RESTRICTED, FUNCTIONALITY_FOR_PROJECT_X}
因为项目X不是我希望用户了解的东西。
所以,我想转发声明枚举,以便我可以将私有方法放在头文件中,在cpp内部声明枚举,并将构建的库文件和标题分发给人。
至于编译器 - 它是GCC。
慕妹3242003
慕田峪4524236
相关分类