Cis*_*tin 3 c++ variables debugging
我已经尽可能地减少了我的代码,以便显示这种不断出现的奇怪错误.
我这里有一个程序可以正常工作:
#include <iostream>
using namespace std;
int main() {
int * elements;
// int size = 10;
for(int i = 0; i < 10; i++) {
elements[i] = 0;
}
for(int i = 0; i < 10; i++) {
cout << "Hi";
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,只要我取消注释一条注释行,一切都会崩溃.什么都没打印,Windows出现错误,说该程序已停止响应.更改变量名称不会影响程序.
这是一个我以前没见过的奇怪错误.如果有人能提供某种帮助,我们将不胜感激.
编辑:我现在看到我忘了为元素分配内存.但是,我仍然不明白如何输入"int size = 10"以某种方式阻止程序崩溃.
未使用的整数与您的问题无关.
您没有为elements指针分配任何内存.您尝试从此未初始化的指针访问十个元素.您的程序具有未定义的行为,即使它似乎有效也是错误的.
但是,我仍然不明白如何输入"int size = 10"以某种方式阻止程序崩溃.
未定义的行为意味着任何事情都可能发生,看似无害的代码片段可能会导致您的程序具有不同的行为,即使这些代码片段与实际的违规代码没有明显的关系.这就是为什么这种行为被称为"未定义".
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |