运行时检查失败 #2 - 变量周围的堆栈'ap'已损坏
Run-Time Check Failure #2 - Stack around the variable 'ap' was corrupted
当我在Visual C++ 2010 Express中运行以下一小段代码时,我遇到了上述问题。
当我使用 CodeBlock 时,由于行 (A) 的原因,内部for
循环无法完全执行。
不知道为什么。感谢您的帮助!
int main()
{
int* ap[10];
for(int j=0;j<10;j++){
*(ap+j) = new int[10];
for(int i=0;i<10;i++){
*((ap+j)+i) = *(ap+j)+i;//(A)
**((ap+j)+i) = j * 10 + i;
cout<<setw(6)<<**((ap+j)+i);
}
cout<<endl;
}
return 0;
}
此行
*((ap+j)+i) = *(ap+j)+i;//(A)
可以改写为
ap[j+i] = ap[j]+i;//(A)
你可以清楚地看到,当 J+I> 10 时,这可以写出界外。
您可能的意思是ap[j][i]
或等效的*(*(ap+j)+i)
.
相关文章:
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 变量周围的堆栈'...'已损坏
- 运行时检查失败 #2 变量"A"周围的堆栈已损坏
- 运行时检查失败 #2 - 变量"e"周围的堆栈已损坏。发生
- 运行时检查失败 #2 - 变量周围的堆栈'...'已损坏
- 运行时检查失败 #2 - 变量"l1"周围的堆栈已损坏
- 数组变量周围的堆栈已损坏
- 运行时检查失败 - 变量周围的堆栈已损坏
- 调试:运行时检查失败 #2 - 变量"LoggerThread"周围的堆栈已损坏
- 运行时检查失败 #2 - 变量"数字选择"周围的堆栈已损坏
- 运行时间检查:变量周围的堆栈已损坏
- 变量"name"周围的堆栈已损坏C++
- MS 工作室 17 变量周围的堆栈已损坏
- 错误:运行时检查失败 #2 - 变量周围的堆栈已损坏
- C++指针:数组的堆栈已损坏
- 变量周围的堆栈已损坏
- C++ 变量周围的堆栈已损坏
- 运行时检查失败 #2 - 变量周围的堆栈---已损坏
- VS2010和OpenCV:变量周围的堆栈已损坏
- 指针函数参数已损坏,堆栈已损坏