s**********y 发帖数: 353 | 1 请教一个遇到的问题:
程序在运行下面一行时不再往下运行而且也不报错会是什么问题?用得的是g++
compiler。 f 就是一个double* type, 前面已经用new double[] 分配了。
delete 【】f; | y*******9 发帖数: 7 | 2 就这一句话,看不出错来
【在 s**********y 的大作中提到】 : 请教一个遇到的问题: : 程序在运行下面一行时不再往下运行而且也不报错会是什么问题?用得的是g++ : compiler。 f 就是一个double* type, 前面已经用new double[] 分配了。 : delete 【】f;
| l***o 发帖数: 8 | | s**********y 发帖数: 353 | 4 debug了一下,在call delete 前 数组还是完整的。
这个delete的语句是在code的最后,可以不要,而且程序运行结果是对的。我发现这个
问题是因为程序不能正常退出,必须用ctrl-c。
【在 l***o 的大作中提到】 : 是不是数组的边界被破坏了?
| l***o 发帖数: 8 | | s**********y 发帖数: 353 | 6 找到原因了,某一个和f毫不相关的动态数组在不同的地方释放了两次.
Thanks for the help.
【在 l***o 的大作中提到】 : 我是指,数组越界,把它范围外的给写了。
|
|