Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 54
1

Ошибка при компиляции

22.11.2015, 12:09. Показов 1840. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возникла следующая ошибка при компиляции, никак не могу разобраться в чем проблема, подскажите пожалуйста,
текст ошибки: ASSERT failure in QList<T>::operator[]: "index out of range", file C:\PROGA\QT\5.5\msvc2013_64\include\QtCore/qlist.h, line 518
C:\PROGA\q_t\build-KYRSACH-Desktop_Qt_5_5_1_MSVC2013_64bit-Debug\debug\KYRSACH.exe завершился с кодом 3
Вложения
Тип файла: 7z KYRSACH.7z (5.6 Кб, 2 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2015, 12:09
Ответы с готовыми решениями:

Ошибка при компиляции
Всем привет Вообще у меня не компилируется приложение показывает ошибку на 54 строке MyWindowa.h...

Ошибка при компиляции
Не могу понять, из-за чего возникла ошибка &quot;:-1: error: cannot find -lGL&quot;. Эта ошибка явно не...

Ошибка при компиляции
Привет всем, в qt я новичок. Скачал QT Creator? создал консольное приложение. #include...

Ошибка при компиляции
Ничего абсолютно не делал, максимум только добавлял кнопку на QWidget, не компилируется. Создал...

6
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
22.11.2015, 15:00 2
выход за пределы массива
0
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
22.11.2015, 15:33 3
C++ (Qt)
1
2
3
4
5
6
//читаем строку
//QString str = file.readLine(); 
QTextStream in(&file);
QString str = in.readLine();
//Делим строку на слова разделенные пробелом
lst = str.split(" "); // QRegExp("\\s+")
Попробуйте заменить регулярку на " " (строку из одного пробела), а строки читать с помощью readLine() потока, а не QFile
0
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 54
23.11.2015, 10:43  [ТС] 4
Спасибо большое, всё работает) А может быть подскажете еще кое-что, как задать имя файла изнутри программы?
Я в LineEdit пишу имя файла, а он его создает в этой папке "C:/PROGA/q_t/KYRSACH/stud/, как мне это сделать?
0
2 / 2 / 0
Регистрация: 24.11.2015
Сообщений: 52
24.11.2015, 10:15 5
са1997, используй
C++ (Qt)
1
2
QFile file("тут имя файла");
file.open(QIODevice ::WriteOnly);
Если файла не будет с таким именем то он его создаст, если будет то просто откроет
0
683 / 458 / 160
Регистрация: 01.10.2015
Сообщений: 1,264
24.11.2015, 23:57 6
Лучший ответ Сообщение было отмечено са1997 как решение

Решение

Цитата Сообщение от са1997 Посмотреть сообщение
а он его создает в этой папке "C:/PROGA/q_t/KYRSACH/stud/, как мне это сделать?
Вы в своей программе прописываете пути "жестко", не делайте так.
Достаточно разместить программу по другому пути - и начнутся проблемы, вы нигде не предусматриваете контроль возможных ошибок.

По поводу того, как это сделать: рядом с этим lineEdit кнопку, сигнал ее нажатия связываете со своим слотом, в котором вы

1) забираете текстовое значение из lineEdit, проверяете его допустимость в качестве имени файла, т.к. пользователь вполне может там написать что-то вроде "/ \ * ? : ; < > | полная херня", как случайно, так и по собственному скудоумию. (Собственно, это можно сделать еще на этапе ввода пользователем, предварительно установив на контрол QRegExpValidator с соответствующим регулярным выражением, тут как вам удобнее).

2) у QApplication есть статический метод applicationDirPath(), возвращающий строку с путем до исполняемого файла вашей программы. Никто не мешает вам дополнить полученный путь до нужного вам каталога.

3) на всякий случай проверяете наличие этого каталога, методы QDir вам в помощь.

Дальше работаете с QFile в зависимости от логики вашего приложения.

P.S.: пересмотрите ваш подход к проектированию ПО, это я про кучу сиротских потомков QDialog и ручное управление их отображением/скрытием, передачу данных между диалогами и т.д. Определите для себя основную форму, например потомка от QMainWindow, и ведите работу в ней. Почитайте про менеджеры компоновки, установите перевод для вашего приложения (QTranslator). Там у вас много "интересных" моментов, до которых препод на защите обязательно "докопается".
1
1 / 1 / 0
Регистрация: 05.11.2015
Сообщений: 54
26.11.2015, 18:54  [ТС] 7
Спасибо огромное, очень помогли.
0
26.11.2015, 18:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2015, 18:54
Помогаю со студенческими работами здесь

Ошибка при компиляции
Как решить данную проблему? Также в фотках показано какие пакеты для сборки и запуска используются...

Ошибка при компиляции
Здравствуйте , установил Qt Creater , когда компилирую вылазит ошибка : Ошибка при...

Ошибка при компиляции qt creator 1.3.1
Здравсвуйте!!! У меня при компиляции в qt creator 1.3.1 выводит ошибку &quot;Не выбран корректный...

QWebPage ошибка при компиляции
Хочу заюзать Webkit, но невыходит, ругается компилятор на QWebPage page; ошибки, прикрепил в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru