【发布时间】:2018-12-19 20:38:19
【问题描述】:
这个论坛和编程的新手,所以请原谅我的问题中的任何潜在错误。我正在尝试使用 SDL2 和 Xcode 6.3.2 用 C++ 编写游戏。在我的 Game 类(见下文)中,Xcode 无法识别我的析构函数并给出错误:expected member name or ';'声明后 我不知道我的析构函数或我的代码有什么问题。我的问题很简单:我做错了什么?提前致谢!
更新: 缩小问题范围并在 cpp.sh 中运行代码,没有任何问题。 Xcode 仍然给出错误消息,因此我无法构建。我试过重启我的电脑,删除派生数据和清理构建文件夹,但没有效果。
int main() {
class Game {
public:
Game();
~Game(); //here is the issue
};
}
更新 2:只需删除无效代码并重新输入即可。错误消息没有再次出现,构建成功。 Xcode 可能确实以某种奇怪的方式缓存了错误消息。
【问题讨论】:
-
你确定不是因为xcode缓存了错误信息吗?代码对我来说看起来不错。
-
这并没有解决问题,但包含两个连续下划线 (
__Game1__Game__) 的名称和以下划线后跟大写字母的名称保留供实现使用。不要在你的代码中使用它们。 -
除了使用非法标识符 (What are the rules about using an underscore in a C++ identifier?) 的标头保护之外,我没有发现任何错误,这不会导致您看到的那种问题。请给我们一个minimal reproducible example 好吗?
-
顺便说一句,欢迎来到 Stack Overflow。感谢您在途中阅读导览。问题是一个很好的第一篇文章。所缺少的只是一个复制问题的完整示例,这可能需要一些工作才能解决。您应该做的是备份您的代码并开始删除部分,直到问题消失以缩小焦点,直到您拥有触发错误所需的最少代码。如果这没有让您对错误感到痛苦并自己修复它,请使用这个最小的示例更新您的问题。
-
请注意,错误可能不在此文件中,而是在包含此文件的文件中,或者在包含此标头之前包含在此标头中的文件中包含的另一个标头中。例如,另一个文件中的先前类定义可能缺少结束分号,并且编译器在到达
Game析构函数之前不会跳过错误。
标签: c++ xcode destructor