Политика конфиденциальностиКонтактыО сайтеОтзывы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];
0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
v
17 января 2019 г. 11:51
vitalir12

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20баллов,
  • Очки рейтинга-10
v
17 января 2019 г. 11:49
vitalir12

C++ - Тест 002. Константы

  • Результат:50баллов,
  • Очки рейтинга-4
v
17 января 2019 г. 11:13
vitalir12

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

  • Результат:28баллов,
  • Очки рейтинга-10
Последние комментарии
I
16 января 2019 г. 8:06
IscanderChe

Заработало. Забыл model->select(); вписать.
I
16 января 2019 г. 8:02
IscanderChe

Всё равно пусто, хотя строка с данными в базу добавляется.
16 января 2019 г. 7:51
Евгений Легоцкой

потому, что нужно сохранять информацию для всех остальных ролей и столбцов через вызов переопределённого метода. Да к тому же вы ещё и зациклили вызов метода data. QVariant MySqlTableModel:...
I
16 января 2019 г. 7:43
IscanderChe

Сделал вот так. В tableView ничего нет, кроме заголовка. QVariant MySqlTableModel::data(const QModelIndex &index, int role) const{ if (role == Qt::DisplayRole) { QTime ...
Сейчас обсуждают на форуме
18 января 2019 г. 11:26
nayk1982

Для Desktop делал так: void pause(int ms){ QTimer timer; timer.setInterval( qBound(1, ms, 3600000) ); timer.setSingleShot(true); QEventLoop loop; QObject::connect(&...
17 января 2019 г. 12:01
Алексей Внуков

у меня просто есть отдельное поле с чекбоксамими какие колонки нужно отображать CheckBox { id: checkBox text: qsTr("some text") checked: true onC...
15 января 2019 г. 16:53
Михаиллл

Спасибо, заработало.Но выдало обычный текст без форатирования HTML.Придется искать дальше
15 января 2019 г. 12:52
BlinCT

Я же вам выше написал CLion умеет работать с ремоут машинами. И Qt так же собирает.
Присоединяйтесь к нам в социальных сетях

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