无法分配空间?

来源:百度知道 编辑:UC知道 时间:2024/05/24 08:54:48
程序较大,各类之间的函数嵌套也比较多,但是已经反复检查,该delete的都delete了。
可总是运行到某一个地方,执行new时候就出错中止了。
debug一栏中不断提示:
First-chance exception in id_z.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
First-chance exception in id_z.exe (NTDLL.DLL): 0xC0000005: Access Violation.
First-chance exception in id_z.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
First-chance exception in id_z.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
Warning: Critical memory allocation failed!
ERROR: Critical memory allocation from safety pool failed!
单步跟踪运行到 mtdata = new double[line*col];
在往后竟然运行到了另一个类的析构函数中,然后从析构函数返回时系统错误
这是怎么回事?

可能是你在某些操作上破坏了栈的数据了——

哪个地方出错中止就检查哪个地方的前后代码。

那段代码前后仔细检查,注意数据类型的问题,还有就是参数传递。

肯定是哪个地方溢出了,然后后面的数据自然就错了。
如果你确定是因为new引起的,那么也可以检查下申请的内核对象处理妥当没有。

我帮你改。
绝对还是内存问题,在这说不清楚,你把代码发到我邮箱,等我改好了给你,你一看就清楚了。
624433109@qq.com