c++ - 在我的代码中添加新变量以及一些操作后,堆栈粉碎检测到 C++
问题描述
我为计算目的编写了一个代码。一切都很顺利,直到我在主代码的函数中添加了这些行。我读到的关于这个问题的大多数线程都有解决方案,指的是处理字符串的情况。它们中没有一个与我正在处理的问题更接近。在主程序中添加的代码是:
float flx[3][4];
for (int a0 = 0; a0 < 4; a0++) {
for (int b0 = 0; b0 < 3; b0++) {
cout << "fluz!!!!";
flx[a0][b0] = phi1[a0][b0] - phi2[a0][b0];
cout << flx[a0][b0] << " ";
}
cout << "\n";
}
代码在执行此部分后立即终止,因此无法继续进行进一步的操作。
请帮忙。谢谢
解决方案
for (int a0=0;a0<4;a0++){
for (int b0=0;b0<3;b0++){
flx[a0][b0] = [...];
请注意,在外循环中,a0
取值0
为3
(包括),但您声明数组是这样的:
float flx[3][4];
...这意味着只有0
, 1
, 和2
是 的第一个/主要维度的有效索引flx
。因此,您在数组范围之外写入,因此会出现堆栈粉碎错误消息。