【发布时间】:2013-02-14 23:32:53
【问题描述】:
我正在尝试正确使用枚举的前向声明。因此,我在互联网上进行了搜索,但找不到有效的方法。
我在标题中使用它:
// Forward declaration
enum myEnumProcessState;
然后我在结构中使用这个枚举:
struct myStruct {
[...]
myEnumProcessState osState;
[...]
};
在另一个标题中:
enum myEnumProcessState {
eNotRunning,
eRunning
};
我发现类型应该放在枚举前向声明中才能被接受。但是,我不知道应该为流程状态输入哪种“类型”。这些不起作用:
enum myEnumProcessState : unsigned int;
enum myEnumProcessState : String;
我想跳过前向声明,但我的 struct 正在哭泣,因为它再也找不到它了...
所以我有点困惑。有解决办法吗?
【问题讨论】:
-
为什么需要转发声明呢?你不能在使用它之前定义它(即包含具有枚举的文件/将枚举移动到两个文件都可以包含的文件)?
-
嗯......它确实有效。但是,我真的很想通过前向声明来做到这一点。现在,如果唯一的“干净”解决方案是跳过它,我会...
-
我实际上不知道是否有解决方案。但是我看不到您想要这样做的原因..
标签: c++ enums forward-declaration