头文件中的枚举
Enum in header files
我在一个名为"sm.h"的头文件中声明了enum
enum GameStates
{
STATE_NULL = 0,
STATE_INTRO,
STATE_TITLE,
STATE_MAIN,
STATE_EXIT
};
它所做的只是列出可能的游戏状态
但是,在"base.cpp"中的以下行中:
stateID = STATE_INTRO;
编译器表示"STATE_INTRO未在此范围内声明"。我不知道自己做错了什么。我知道我已经包含了头文件,我可以从.cpp文件转到它的减速。那我为什么会犯这个错误呢。
stateID = STATE_INTRO;
用于:
bool baseFunctions::load_rc()
{
stateID = STATE_INTRO;
currentState = new Intro();
return true;
}
其在头文件中定义类函数。
没有全局冲突,因为它是整个程序中唯一的枚举
从文件链接到sm.h
和base.h
中都有以下内容
#ifndef BASE_H_INCLUDED
#define BASE_H_INCLUDED
将sm.h
中的更改为类似的内容
#ifndef SM_H_INCLUDED
#define SM_H_INCLUDED
我希望你会好起来的。
实际上,base.cpp
加载base.h
,然后当它到达sm.h
时,#ifndef为false,因此它排除了sm.h
中的所有内容。
最有可能的是您没有在base.cpp 中包含"sm.h"
相关文章:
- 如何在公共头文件中向库的用户公开枚举,同时在内部使用它?
- 将枚举传递到不同文件中的对象中
- 枚举前向声明与头文件
- 在编译时从 c++ 文件创建枚举
- C++-使用来自不同头文件、相同命名空间的枚举
- 如何将枚举类写入文件并在C++中访问它?
- 从另一个C++文件中C++ "Importing"枚举类
- 如何在Qt.js文件中使用C++枚举
- 无法使用其他文件中的枚举:" does not name a type"错误
- 如何将枚举类型数据保存到文件
- C++ 在头文件中使用枚举'___'而没有先前的声明?
- 将枚举传递给另一个文件?C++
- 为了简洁起见,在另一个文件中定义前向声明的嵌套结构/类/枚举
- 当在matlab mex文件中动态链接时,枚举的typeid会发生变化
- 从.cpp文件(C++)中的头文件读取枚举
- c 如何从类类 .h 文件内部识别.cpp中的 UDT 枚举
- 不同文件中同一命名空间中的 2 个不同枚举中的相同标识符
- 如何对文件文档枚举进行多行
- 枚举 Windows 中特定类型的文件
- 是否有比c++中的FindFirstFile/FindNextFile更快的方法来枚举文件夹?