24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
|
|||||||||||
1 | |||||||||||
Ошибка, если QString член класса12.11.2014, 16:17. Показов 701. Ответов 8
Метки нет (Все метки)
Добрый день. Пишу калькулятор. Если в описании класса делаю QString членом класса, то ошибка:
Запускается C:\QT\example\build-untitled2-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\untitled2.exe... Программа неожиданно завершилась. C:\QT\example\build-untitled2-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\untitled2.exe завершился крахом Так же на QLCDNumber не выводятся символы + / = * , но другие все выводятся. Calc.H Кликните здесь для просмотра всего текста
Calc.cpp Кликните здесь для просмотра всего текста
0
|
12.11.2014, 16:17 | |
Ответы с готовыми решениями:
8
Функция-член Ошибка класса Ошибка: член класса QLineEdit Ошибка при записи в открытый член класса Создать рекурсивную функцию, определяющую n-ый член геометрической про* грессии, если известен первый член и знаменатель |
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|||||||||||
12.11.2014, 17:56 | 2 | ||||||||||
1
|
24 / 24 / 16
Регистрация: 01.11.2013
Сообщений: 196
|
|
12.11.2014, 18:19 [ТС] | 3 |
Сборку сменил с отладки на выпуск, и проблема в классе с QString решилась. Но почему же при отладке программа вылетает.
Почему на QLCDNumber не выводятся символы + / = * понял. RazrFalcon, Спасибо, а почему преобразование типа лучше делать так? Делаю по книге М.Шлее Qt4.8, у него везде так как.
0
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
12.11.2014, 18:21 | 4 |
Просто пересоберите ее. Возможно компилятор чюдит.
видимо он их не поддерживает ваш способ - это C-стайл, такой не принято использовать в С++.
1
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
12.11.2014, 23:21 | 5 |
и чем
отличается от ? В любом случае, если sender() не является кнопкой, то приложение упадет
0
|
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
|
|
12.11.2014, 23:41 | 6 |
gromo, фишка не в проверке sender на 0, а в использовании чисто C++, без С-примесей.
0
|
59 / 46 / 11
Регистрация: 16.09.2014
Сообщений: 124
|
||||||
13.11.2014, 00:28 | 7 | |||||
Фишка не в использовании чисто С++ без примесей, фишка в том, что например dynamic_cast вернет nullptr если не сможет привести один тип к другому как вообщем и qobject_cast и нужно это все для безопасности.
правильно писать так:
0
|
383 / 281 / 31
Регистрация: 04.09.2009
Сообщений: 1,225
|
|
13.11.2014, 03:53 | 8 |
Pancir, qobject_cast не требует rtti в отличии от динамиккаст. И в коде о котором я говорил вообще нету проверки на ноль. Хватит и статиккаста
0
|
Поклонник Qt
|
|
13.11.2014, 04:07 | 9 |
Про касты можно почитать тут: http://habrahabr.ru/post/106294/
1
|
13.11.2014, 04:07 | |
13.11.2014, 04:07 | |
Помогаю со студенческими работами здесь
9
Если объект константный, означает ли это, что ни один его член-элемент или член-метод не изменится? Член-ссылка на другой член класса Ошибка "функция-член класса не может быть повторно объявлена" Член класса управляемый не может относиться к типу класса неуправляемый Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |