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;