我正在用C语言制作类似流氓的游戏,但文件链接遇到了麻烦。
我正在制作一个自定义头文件,在其中声明结构数组,但是在编译此代码时:
#ifndef spells
#define spells
struct spells SpellList[55];
#endif // spells
我收到一个错误:预期标识符或'['标记前的'('。
最佳答案
您将标识符spells
用于两个不同的目的:作为头文件的“保护宏”,以及作为结构的标记名。编译器无法理解您希望它们是独立的。使用所示代码,预处理阶段将使用标识符spells
的所有内容替换为空,然后解析阶段将看到
struct SpellList[55];
这是无效的。
您必须重命名保护宏或struct标记。由于您永远不需要在其他任何地方引用保护宏,因此重命名保护宏可能是最简单的。
附带地,“ rouge”是一种化妆。您正在制作的游戏类似于rogue。
关于c - C-“错误:预期标识符或'['标记前的'('”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48142539/