【发布时间】:2016-06-03 12:47:40
【问题描述】:
我注意到,每当我声明或初始化 int c = 0 时,我似乎都会遇到分段错误。只有当我注释掉我的代码的那一行时,它才能正常工作。这是我的代码的一部分:
int a = 0;
int b = 0;
int c = 0;
struct alphabet{
int first;
char word[30];
};
我仅使用 a 和 b 作为我唯一的整数测试了我的代码。一旦我稍后尝试初始化c,它才开始给我分段错误。我只是不明白为什么会发生这种情况。有人可以帮我吗?
提前谢谢你!
【问题讨论】:
-
问题出在您没有发布的代码中。请发帖MCVE
-
代码的另一部分存在缺陷,它覆盖了一些内存。添加
c会导致内存中的布局发生变化,并在导致崩溃而不是您没有注意到的地方进行覆盖。 -
使用调试器找出在哪里发生段错误。这可能会给你一个关于正在发生的事情的提示。
标签: c++ segmentation-fault int