C++ C++;QList的Qt内存分配异常
这会引发异常,这怎么可能发生呢C++ C++;QList的Qt内存分配异常,c++,qt,exception,memory,qlist,C++,Qt,Exception,Memory,Qlist,这会引发异常,这怎么可能发生呢 for(int h = 0 ; h < listOne.count() ; ++h) { delete[] listOne[h]; } for(int h=0;h
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
}
for(int h=0;h
使用QList listOne?我删除浮点*数组,直到我达到QList中的元素数为止
编辑和解决方案
事实上,当我在QList的一个项目中只添加一个浮点时,它失败了。然后,它不再是一个float*
,您不能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;
}
现在将
pi
添加到列表中Show您将元素添加到QList.Show listOne声明的位置。问题是为什么要使用c样式数组而不是例如QVector/std::vector
float *pi=new float[1];
pi[0]=3.14f;