这怎么会发生,这会引发异常
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
}
与 QList listOne ?我删除 float* 数组迭代,直到我达到 QList 中的元素数......
编辑和解决方案
实际上,当我在 QList 的一项中仅添加一个浮点数时,它会失败。然后,它不再是 afloat*
并且你不能delete []
它。
How can this ever happen that this throws an exception
一种可能性:您在列表中添加了一个数组 2 次。一个修复:
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
listOne[h]=nullptr;
}
也许其他错误(您向列表添加了非数组指针)。
编辑:
实际上,当我在 QList 的一项中仅添加一个浮点数时,它会失败。然后,它不再是 float* 并且您不能删除 [] 它。
我怀疑......一个非常简单的修复:
float *pi=new float[1];
pi[0]=3.14f;
现在添加pi
到列表中