[英]C++ Qt memory allocation exception with QList
这怎么可能发生,从而引发异常
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
}
与QList listOne吗? 我删除迭代的float *数组,直到达到QList中的元素数量为止。
编辑与解决方案
实际上,当我在QList的一项中仅添加一个浮点数时,它会失败。 然后,它不再是float*
并且无法delete []
。
How can this ever happen that this throws an exception
一种可能性:您在列表中两次添加了一个数组。 一种解决方法:
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
listOne[h]=nullptr;
}
也许还有其他错误(您在列表中添加了非数组指针)。
编辑:
实际上,当我在QList的一项中仅添加一个浮点数时,它会失败。 然后,它不再是浮点数*,并且无法删除[]。
我怀疑...一个非常简单的解决方法:
float *pi=new float[1];
pi[0]=3.14f;
现在将pi
添加到列表中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.