gpt4 book ai didi

c++ - 错误 C2236 : unexpected token 'enum'

转载 作者:行者123 更新时间:2023-11-30 01:55:06 24 4
gpt4 key购买 nike

我目前正在用 C++ 开发一款文字冒险游戏,我正在尝试使用枚举来节省代码。但是,我收到以下错误:

1>f:\ghosthouse\ghosthouse\source.cpp(3): error C2236: unexpected token 'enum'. Did you forget a ';'?

1>f:\ghosthouse\ghosthouse\source.cpp(3): error C2143: syntax error : missing ';' before '{'

1>f:\ghosthouse\ghosthouse\source.cpp(3): error C2447: '{' : missing function header (old-style formal list?)

这是有问题的代码:

#include "Header.h"

enum gen_dirs {north, east, south, west};
enum gen_rooms {entrance, bathroom, livingroom, diningroom, abedroom, cupboard, kitchen, cbedroom};
...

以及相关的头文件:

#define HEADER_H
#include <iostream> // For cin and cout
#include <string> // For strings
#include <vector> // For vectors (arrays)

using namespace std;


struct RoomStruct
{
// The room the player is currently in, and its interactive objects.
string roomName;
string size;
bool rustyKeyIn;
bool goldKeyIn;
bool copperKeyIn;
bool torchIn;
bool toyIn;
bool leverIn;
bool oldCheeseIn;
bool toyBoxIn;
bool skeletonIn;
bool ghostIn;
}

谁能找出问题所在,因为据我所知(并通过检查其他冒险游戏脚本)这应该是可行的。

编辑:我是个大白痴。我在 header 末尾的 } 后面加了一个分号,现在运行正常。抱歉浪费大家的时间...

最佳答案

您忘记了 RoomStruct 之后的 ;

#define HEADER_H
#include <iostream> // For cin and cout
#include <string> // For strings
#include <vector> // For vectors (arrays)

using namespace std;


struct RoomStruct
{
// The room the player is currently in, and its interactive objects.
string roomName;
string size;
bool rustyKeyIn;
bool goldKeyIn;
bool copperKeyIn;
bool torchIn;
bool toyIn;
bool leverIn;
bool oldCheeseIn;
bool toyBoxIn;
bool skeletonIn;
bool ghostIn;
}; //<---------------------------------

-edit- 在 C 中你可以写 struct RoomStruct {int a, b; } room1, room2; 所以你的代码中发生的事情是它认为你正在尝试声明一个名为 enum 的变量,这是一个保留关键字

分号是很多问题的根源。如有疑问,请检查您是否忘记了分号!

关于c++ - 错误 C2236 : unexpected token 'enum' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006696/

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