在 C++ 中制作基于文本的 RPG 游戏/模板时出现问题 [关闭]
Posted
技术标签:
【中文标题】在 C++ 中制作基于文本的 RPG 游戏/模板时出现问题 [关闭]【英文标题】:Problems Making Text Based RPG game/template in C++ [closed] 【发布时间】:2016-04-21 19:54:07 【问题描述】:我正在 C++ 中为一个类制作基于文本的 rpg,我正在为故事部分使用多文件树结构,当其中 2 个部分合并到另一个故事部分时,我收到一条错误消息,指出部分正在重新定义,我听说过使用标头,但这一直不起作用,因为我不知道该怎么做!这是我所有文件的链接:hey I am over here!
【问题讨论】:
您没有为我们提供任何代码来帮助您。 @Ven 查看它包含我的代码的链接,它是多个文件,这将花费很长时间,如果我进行更改,我将不得不重写。 不要给我们一个谷歌驱动器的链接。将您的问题简化为可以向我们展示的内容。 【参考方案1】:您可能忘记在文件顶部添加include guards。这些可以防止您的文件被多次编译。你也可以在同一个作用域或函数中定义两次变量。
示例(来自***)
#ifndef GRANDFATHER_H
#define GRANDFATHER_H
// this code is only compiled once thanks to the
// preprocessor directive #ifndef
struct foo
int member;
;
#endif /* GRANDFATHER_H */
【讨论】:
任何值得一提的 C++ 编译器都可以处理#pragma once
而不是显式定义。
#pragma once
是非标准。看到这个答案:***.com/questions/23696115/…
好点,但我从未说过这是一个标准;除非 OP 坚决要在 Solaris (en.wikipedia.org/wiki/Pragma_once#Portability) 上编译,否则使用 #pragma once
不应该有任何可移植性问题。以上是关于在 C++ 中制作基于文本的 RPG 游戏/模板时出现问题 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章