Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
9 ноября 2018 г. 13:02

QStringList Str1.size() не правильно считает.

QStringList

Добрый день.

У меня есть QStringList Str1;

qDebug()<<Str1.size(); 

выдает 253, но

 for (int i = LastNamberString; i < Str1.size() ; ++i)
        {
            qDebug()<<i;

            qDebug()<<Str1[LastNamberString + i];

вылетает на 228 строке  с ошибкой

ASSERT failure in QList<T>::operator[]: "index out of range", file D:/QT/5.11.0/mingw53_32/include/QtCore/qlist.h, line 549

Invalid parameter passed to C runtime function.





Не знаете, почему я не верно посчитал число строк?

4

i=0, а не i = LastNamberString. Думаю, ошибка именно в этом.

0

нет, просто цикл начинает проверку не с первой строки.

LastNamberString около 30

но касяк в том, что  qDebug()<<Str1.size(); выдает больше строк, чем есть на самом деле



0

извините, в этом ошибка

qDebug()<<Str1[i];
я как раз прибавил 30 к Str1[i];
1

Ну вот это точно неправильно!!!

qDebug()<<Str1[LastNamberString + i];

у вас уже i начинается с 30, то есть с LastNamberString. Таким образом, строк например 100, вы начинаете считать от 30 и при этом в этом дебаге ещё 30 накидываете.

В результате, когда i равно 70 вы прибавляете ещё 30 и получаете 100, а это Out of Range, потому, что начинается отсчёт от 0 и последняя строка будет 99. А вы пытаетесь получить 100.

Правильно так

qDebug()<<Str1[i];

Для Django рекомендую VDS-хостинг TIMEWEB

0

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
16 ноября 2018 г. 19:09
Илья Завьялов

Qt - Тест 001. Сигналы и слоты

  • Результат:31баллов,
  • Очки рейтинга-10
16 ноября 2018 г. 12:49
Ирина Минигузина

C++ - Тест 003. Условия и циклы

  • Результат:0баллов,
  • Очки рейтинга-10
16 ноября 2018 г. 8:55
Vitaliy

Qt - Тест 001. Сигналы и слоты

  • Результат:52баллов,
  • Очки рейтинга-4
Последние комментарии
16 ноября 2018 г. 6:50
Евгений Легоцкой

Добрый день! шаблон не находит, или шаблон неправильно прописали, или тег шаблона неправильно написан, иных выводов сделать не могу, из того, что вы написали. трейсбек нужно смотреть. Со...
16 ноября 2018 г. 6:48
Евгений Легоцкой

пройтись циклом по всем виджетам в обратном порядке for (int i = ui->vertialLayout->count() - 1; i >= 0; --i){ QWidget* w = ui->verticalLyout->itemAt(i)->widget();...
15 ноября 2018 г. 21:35
chunk

Доброго времени суток Евгений. Не подскажете что я делаю не так? Получаю ошибку такого характера: Reverse for 'add_comment' with arguments '('',)' not found. 1 pattern(s) tried: ...
15 ноября 2018 г. 15:35
Михаиллл

Спасибо. Похоже где то описку сделал, поэтому не работало. Я добавил на verticalLayout много виджитов. А можно ли их как то быстро и просто удалить?
15 ноября 2018 г. 14:55
Евгений Легоцкой

verticalLayout - это, по-моему предположению, должен быть у вас объект класса QVBoxLayout, который наследован от QBoxLayout. Поэтому открываете документацию на QVBoxLayout ...
Сейчас обсуждают на форуме
17 ноября 2018 г. 23:20
Евгений Легоцкой

Три года назад я подключал ffmpeg в проект на Qt/С++ на первой работе. И кодирование декодирование удалось запустить. Подключал как библиотеку. Думаю, что в зависимости от проекта мо...
17 ноября 2018 г. 14:13
Чарльз Грин

Я сейчас занимаюсь мультимедией, это аудио и видео, программы для концертов и т. д. Бибилиотека Qt очень помогает, она надежная, а надежность в моих приложениях очень важный фактор чтоб не пол...
16 ноября 2018 г. 16:28
Евгений Легоцкой

Добрый день! Спасибо, что воспользовались именно форумом. Заниматься курсовыми работами чьими-то ни было у меня времени нет, у самого полторы работы. Но что-то подсказать на фо...
16 ноября 2018 г. 9:52
Евгений Легоцкой

Отладчик!!!! Версия комплекта MSVC 2015 + компилятор 14.0!!!!
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы