Здравствуйте, гость ( Вход | Регистрация )
Tonal | Дата 7.8.2008, 7:34 |
2) А с инициализацией - это да! Проблема в том, что не могу конструктор создать. Нельзя. Серый волк не даёт? |
|
AD | Дата 6.8.2008, 13:38 |
1) Плохо использовать глобальные переменные. 2) Совсем плохо не инициализировать переменные. 1) Приведенный пример далек от программы. Я не использую глобальных переменных 2) А с инициализацией - это да! Проблема в том, что не могу конструктор создать. Нельзя. |
|
Tonal | Дата 6.8.2008, 13:25 |
1) Плохо использовать глобальные переменные. 2) Совсем плохо не инициализировать переменные. |
|
AD | Дата 6.8.2008, 12:57 |
Виноват, забыл написать еще один момент: вылетало при использовании hard_event
|
|
AD | Дата 6.8.2008, 10:29 |
(17) Типа: QString* str; if (str->isEmpty()) { трах-бабах..... } Нет совсем не то! Вот так:
|
|
trdm | Дата 6.8.2008, 9:50 |
(17) Типа: QString* str; if (str->isEmpty()) { трах-бабах..... } |
|
AD | Дата 6.8.2008, 9:07 |
2 AD Скорее всего строка тут не причём. Подобные вещи происходят тогда, когда ты разрушил память - кучу или стек. Например вылетел за границы массива, дважды удалил один и тот же объект, или просто поработал по неинециализированному указателю. Вот программа и валится в самых неожиданных местах. Проблема решена. Tonal, был прав! У меня в указателе самом лежал мусор! При обнулении указателя такое перестало происходить! |
|
AD | Дата 6.8.2008, 8:28 |
2 AD Скорее всего строка тут не причём. Подобные вещи происходят тогда, когда ты разрушил память - кучу или стек. Например вылетел за границы массива, дважды удалил один и тот же объект, или просто поработал по неинециализированному указателю. Вот программа и валится в самых неожиданных местах. да я и указатель проверяю, естественно. Он в этот момент валидный, а строка почему-то нет! Вот так это выглядит в дебаггере: [attachment=164:debugger.JPG] |
|
Tonal | Дата 6.8.2008, 7:13 |
2 AD Скорее всего строка тут не причём. Подобные вещи происходят тогда, когда ты разрушил память - кучу или стек. Например вылетел за границы массива, дважды удалил один и тот же объект, или просто поработал по неинециализированному указателю. Вот программа и валится в самых неожиданных местах. 2 void* Если конструктор вызвался - объект уже инициализирован. В QString() все данные корректно инициализируются, так что мусора там быть не может. Кроме случаев удара по памяти. |
|
AD | Дата 6.8.2008, 0:15 |
тогда код в студию, гадание на кофейной гуще нынче не в моде Да код обычный, где-то строка создается с пустым значением. Где-то ей присваивается значение. А где-то используется. Вот там, где используется, там и ломается программа! |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 9.5.2024, 18:19 |