gpt4 book ai didi

c++ - 头文件中的枚举

转载 作者:搜寻专家 更新时间:2023-10-31 01:16:17 24 4
gpt4 key购买 nike

我在名为“sm.h”的头文件中声明了枚举

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.hbase.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 中的所有内容。

关于c++ - 头文件中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com