假设我有一个头文件来存储枚举:
my_enum.h:
#ifndef my_enum_h
#define my_enum_h
enum my_enum {ONE, TWO};
#endif
然后我将此头文件包含在文件game.h
和game.cc
中。最后,我在game.h
中添加了main.cc
。
我现在可以在main.cc
中使用ONE和TWO。全局定义这些变量是否正常?
答案 0 :(得分:1)
当你在main.cc中包含game.h时,因为game.h已经包含my_enum.h,所以可以从包含game.h的文件中访问它,还包括my_enum.h
解决方案1: 从代码中删除“#include my_enum.h”,因为它似乎不需要
解决方案2: 也许更改枚举的名称/
中的值答案 1 :(得分:0)
如果在实现文件中包含标题。它与在实现文件中编写头文件的确切代码相同。
因此,此enum
声明会包含在您的game.h
中,随后会包含在main.cc
中。
如果要删除它,则必须将其从头文件中删除,并在任何您想要使用它的地方声明它。