Я хочу просмотреть список и удалить элементы больше 30
QList<double> mylist;
QList<double>::iterator myiterator = mylist.begin();
mylist.append(6);
mylist.append(36);
myiterator=mylist.begin();
while(myiterator!=mylist.end())
{
if(*(myiterator)>30)
{
QList<double>::iterator next=myiterator;
next++;
mylist.erase(myiterator);
myiterator=next;
}
else
myiterator++;
if(myiterator==mylist.end())
std::cout<<"end of list "<<std::endl;
else
std::cout<<" not end of list "<<std::endl;
}
. Вывод равен
not end of list
not end of list
The program has unexpectedly finished.
/home/maverik/Desktop/Qt/container_class/container_class exited with code 0
, где как будто я создаю mylist = {36,34} или mylist ={36,9} или mylist = {9,10}, тогда вывод равен
not end of list
end of list
ошибка возникает только тогда, когда последний элемент больше 30 или больше, но 1-й элемент также больше 30