9 ноября 2018 г. 8: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.





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

Виртуальный хостинг со скидкой 10 процентов
Виртуальный хостинг со скидкой 10 процентов
EVILEG предлагает надёжный хостинг со скидкой 10% на виртуальный хостинг и 5% на VPS
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

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
МБ
14 июля 2019 г. 17:57
Максим Беликов

C++ - Тест 005. Структуры и Классы

  • Результат:100баллов,
  • Очки рейтинга10
МБ
14 июля 2019 г. 17:52
Максим Беликов

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

  • Результат:90баллов,
  • Очки рейтинга8
МБ
14 июля 2019 г. 17:45
Максим Беликов

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

  • Результат:71баллов,
  • Очки рейтинга1
Последние комментарии
16 июля 2019 г. 15:15
Евгений Легоцкой

Конечно )) На самом деле не все читали Шлее... я например не читал ))
16 июля 2019 г. 15:05
IscanderChe

Так пример с QLocalServer и QLocalSocket я целиком переписал с QTcpSocket и QTcpServer из книги Шлее. Принципиальное отличие - где коннект ставить. :)) Разве что на это упор сделать. Но я могу...
16 июля 2019 г. 14:47
Евгений Легоцкой

Лучше API ))) Кстати, по использованию QLocalServer и QLocalSocket на сайте нет статей, было бы очень полезно и хорошо пошло бы в раздел Qt.
16 июля 2019 г. 12:36
IscanderChe

Да, прямой доступ не предполагается. Впрочем, можно, конечно, и напрямую. Всё равно всё локально происходит. Проблема в том, как донести сведения об изменениях в базе, которые вносит клиент, д...
b
16 июля 2019 г. 8:38
bbb116

спасибо, до smart pointer еще не дошел )
Сейчас обсуждают на форуме
17 июля 2019 г. 11:49
Михаиллл

В настройкак указан индификатор проекта и ключ. Осталось понять как использовать ключ. Попробовал вставить в этот запрос 'https://[PROJECT_ID].firebaseio/users/jack/name.json?access_to...
b
17 июля 2019 г. 9:01
bbb116

Вообщем работает только если делать setSceneRect только в конструкторе главного окна, если потом менять rect например при вставке картинки то появляются сколлы все как надо только области не р...
17 июля 2019 г. 5:54
Алексей Внуков

хочу не стандартный набор символов, а все ненужное убрать чтоб не мешало. для начала решил посмотреть как работает клава на родном примере, а он на телефоне не взлетел вот и начал разби...
17 июля 2019 г. 5:06
Михаиллл

Добрый день.Возможно вы сталкивались с облаками.Нужно из Qt создавать на облаке папки, записывать в папки файлы, читать и удалять с компьютера файлы.Возможно знаете, что лучше и проще испол...
Ищу работу?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

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

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB