[英]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.