Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > QVectorIterator::hasNext () Зависает


Автор: wowka19 24.8.2014, 15:03
Такой код работает:
Код

if (! QVectorIterator_obj.hasNext()) return;

do
{
    MyType item = QVectorIterator_obj.next();
    //...
} while (QVectorIterator_obj.hasNext());


А такой нет:
Код

while (QVectorIterator_obj.hasNext()) // в этом месте зависает (при первой же итерации). проверял через отладчик
{
    MyType item = QVectorIterator_obj.next();
    //...
}


Вопрос: почему? что не так? что за ...?

ОТВЕТ:
Потому, что второй (нерабочий) вариант на самом деле выглядит вот так:
Код

while (QVectorIterator_obj.hasNext()); //копипаст в очередной раз вставляет палки в колеса
{
    MyType item = QVectorIterator_obj.next();
    //...
}


Оффтоп: заметил, что нахожу решение проблемы сразу после того, как напишу о ней на форуме.

Автор: bsa 1.9.2014, 14:03
Мой личный опыт подсказывает, что перед отправкой вопроса нужно немного подождать.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)