admin管理员组

文章数量:1618711

昨天手动实现KMP算法时出现这个报错,算法中我创建next数组方式为int next[MaxSize]

 调试过后发现继续运行能正常出结果,但每次运行到这里都会报错

字面意思是next数组附近的堆栈内存被破坏了

发生此报错一般有两种情况:

        第一 -> 数组下标越界。这也是最常见的问题原因,解决办法是检查数组是否有越界情况,如果有的话创建一个更大的数组

        第二->编译器本身问题。

        我这里自己测试过应该不是数组越界的原因,因为每次调试后都能得出正确结果

 所以在网上搜索后得出以下两种解决办法

                1).把“project->配置属性->c/c++->代码生成->基本运行时检查 设置为默认值。

                2).创建数组的方式改用new或者malloc,改为正常运行

本文标签: 报错TIMEcheckfailurerun