Как это может случиться, что это исключение
for(int h = 0 ; h < listOne.count() ; ++h) {
delete[] listOne[h];
}
с QList listOne? Я удаляю массивы float *, повторяясь, пока не достигну номера элемента в QList …
РЕДАКТИРОВАТЬ & РЕШЕНИЕ
На самом деле, это происходит сбой, когда я добавляю только один float в один элемент 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;
}
Возможно, другие ошибки (вы добавили не-массив указателей в список).
РЕДАКТИРОВАТЬ:
На самом деле, это не удается, когда я добавляю только один float в один элемент
QList. Тогда это больше не float *, и вы не можете удалить [] его.
Я подозревал…
Очень простое исправление:
float *pi=new float[1];
pi[0]=3.14f;
Теперь добавьте pi
к списку
Других решений пока нет …