跳转到主内容
思享编程网:思考分享,玩转编程世界!

VS2013编译器报错:Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted怎么办?

大家好,我是陆砚码。最近在写项目的时候,也遇到了这个让人头疼的报错:Run-Time Check Failure #2 - Stack around the variable 'xxx' was corrupted。这个问题困扰了我好久,今天就来跟大家分享一下我是怎么解决的。

首先,这个报错的字面意思是定义的变量xxx附近的内存被破坏了。我们第一反应可能是堆栈溢出或者内存访问越界。没错,这就是第一个解决方案。

解决方案一:检查数组下标访问的合法性

如果提示中的变量是指针类型变量,那么大概率就是数组访问越界。这时候,你需要反复检查数组下标访问的合法性,确保不会越界。

解决方案二:将局部变量设置为全局变量

如果提示中的变量不是指针,而是普通局部变量,在检查代码逻辑无误后,可以尝试以下方法:

  • 方法一:将该局部变量设置为全局变量。
  • 方法二:在“项目 ---- 属性 ---- 配置属性 ---- C/C++ ---- 代码生成 ---- 基本运行时检查:”中设置为默认值,点击应用,确定后即可。

以上就是我解决这个问题的方法,希望能帮到大家。当然,这只是我个人的理解,如果大家有更好的方法,欢迎在评论区分享。

最后,我是思享编程网的陆砚码,如果你对编程有任何疑问或者想要了解更多编程知识,欢迎关注我们的网站www.sxgpb.com。

相关文章