Название: SIGSEGV. Отправлено: chadushkind от Август 09, 2013, 21:17 Использую Qt Creator. Есть класс, в нем следующая функция:
Код: bool MainWindow::ReadLines() QList<QString> ArrayOfStrings. Ошибку выдает на этой строке: Код: this->ArrayOfStrings[i] = in.readLine(); Название: Re: SIGSEGV. Отправлено: kambala от Август 09, 2013, 21:34 в ArrayOfStrings 0 элементов, поэтому обращение по индексу вызывает ошибку. добавляй считанную строку например через this->ArrayOfStrings += in.readLine();
Название: Re: SIGSEGV. Отправлено: VPS от Август 09, 2013, 21:47 Вроде, как в цикл "for" программа не должна заходить, т.к. перед этим список очищается и количество элементов будет нулевым...
Название: Re: SIGSEGV. Отправлено: gil9red от Август 09, 2013, 21:56 Вот именно что список пуст, а вы хотите к его элементам обратиться )
При очищении списка будут удалены все элементы, потому, чтобы не ловить ошибок, в цикле добавляйте в список :) И кст, QList<QString> можно заменить на QStringList - тоже самое, но нагляднее :) и это: Код: this->ArrayOfStrings.clear(); попробуйте заменить на: Код: // код не проверял - нет с собой компилятора, но должно работать Глядишь не придется и цикл использовать :) Название: Re: SIGSEGV. Отправлено: chadushkind от Август 09, 2013, 22:17 Спасибо всем больше за ответы! Последний вариант заработал, ура!)
|