Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
Здравствуйте, гость ( Вход | Регистрация )
Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
kwisp |
16.9.2010, 14:55
Сообщение
#11
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
kvak |
16.9.2010, 16:00
Сообщение
#12
|
Студент Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: 0 |
А если в этом случае
oe_units = qobject_cast<QComboBox*>(PM->TABLE_ELITE->cellWidget(e, f)); допустим, в ячейке (e, f) нет виджета QComboBox, то как себя программа поведет ? |
|
|
igor_bogomolov |
16.9.2010, 16:02
Сообщение
#13
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
oe_units будет равна нулю. Не забывай делать проверку и проблем не будет
|
|
|
Алексей1153 |
16.9.2010, 21:10
Сообщение
#14
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
DEADHUNT |
16.9.2010, 21:16
Сообщение
#15
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
|
|
|
kwisp |
16.9.2010, 21:18
Сообщение
#16
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Алексей1153,
он тебе вообще про приведение типов в с++. про то как принято. твой вариант остался из Си. и оставили его только из за совместимости с уже написанным кодом. чтобы он собирался новыми компиляторами. то что хоть раз принималось стандартом очень тяжко выкинуть. не хочешь не используй ни касты ни приводящие конструтокры ни операторы Type(). и приводи указатели старым способом. хозяин барин. |
|
|
Алексей1153 |
16.9.2010, 21:28
Сообщение
#17
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
адреса вообще-то тоже требуется корректировать(при необходимости). хоть один пример в студию. Пока что я не могу придумать такой случай kwisp, да нет, у меня нет привычек от СИ , я сразу с C++ начал. Каст использовать или нет - не вижу необходимости в нём, а выглядит неэстетично Вообще, я к метаданным о типе отрицательно отношусь (это мой личный баг ) |
|
|
kwisp |
16.9.2010, 21:42
Сообщение
#18
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
не вижу необходимости в нём ладно раз уж начал песню допою до конца. тему потом разделим. Каст использовать или нет - не вижу необходимости в нём, а выглядит неэстетично т.е. ты всегда уверен что приведение закончится успешно? хоть один пример в студию. Пока что я не могу придумать такой случай та легко. при освобождении памяти ты даешь delete указатель - как по адресу delete определяет сколько памяти освободить? каков размер обЪекта? |
|
|
DEADHUNT |
16.9.2010, 21:46
Сообщение
#19
|
Активный участник Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2 |
хоть один пример в студию. Пока что я не могу придумать такой случай
ну и ещё что-то там наворотить когда статически нельзя определить смещение базового класса(надо использовать dynamic_cast). |
|
|
Алексей1153 |
16.9.2010, 21:50
Сообщение
#20
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
т.е. ты всегда уверен что приведение закончится успешно? конечно Это лишь снятие ответственности с компилятора, который паникует при попытке присвоить адрес объекта типа родителя указателю на объекта типа дитёнка (наоборот можно, он даже не пикнет). Более ничего при этом не происходит та легко. при освобождении памяти ты даешь delete указатель - как по адресу delete определяет сколько памяти освободить? каков размер обЪекта? это не пример. Во первых, АДРЕС не поменяется от этого. Во вторых, для таких случаев должен быть виртуальный деструктор, либо ты уж учитывай, какой тип удаляется и приведи его перед удалением А DEADHUNT говорил адреса вообще-то тоже требуется корректировать DEADHUNT, в твоём примере адрес не меняется и не корректируется тоже ) я вредное, я знаю... Но пока не увидел убедительных объяснений обязаловки применения каста |
|
|
Текстовая версия | Сейчас: 16.1.2025, 0:50 |