Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
Здравствуйте, гость ( Вход | Регистрация )
Ошибка invalid conversion from `QWidget*' to `QComboBox*' |
kvak |
16.9.2010, 11:47
Сообщение
#1
|
Студент Группа: Участник Сообщений: 51 Регистрация: 5.5.2010 Пользователь №: 1690 Спасибо сказали: 1 раз(а) Репутация: 0 |
Имеется:
QComboBox *oe_units; *PM - объекта собственного класса *TABLE_ELITE - таблица QTableWidget, которая является данным класса, который представляет объект PM Не рабоатает вот такая нструкция: oe_units = PM->TABLE_ELITE->cellWidget(e, f); Код ошибки: code\order.cpp:104: error: invalid conversion from `QWidget*' to `QComboBox*' Задача получить через функцию cellWidget, выполненную для таблицы, которая принадлежит классу, представленному объектом PM, указатель на тот самый виджет. К этому времени в этой ячейке с адресом (e, f) находится виджет QComboBox. Так как функция cellWidget возвращает указатель полученного виджета, то по идее мой указатель oe_units должен после выполнения инструкции указывать на тот самый виджет. Сам виджет QComboBox не приватный. В чем тут может быть ошибка ? Правильная ли сама инструкция ? |
|
|
kwisp |
16.9.2010, 22:00
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
это не пример. Во первых, АДРЕС не поменяется от этого. Во вторых, для таких случаев должен быть виртуальный деструктор, либо ты уж учитывай, какой тип удаляется и приведи его перед удалением адресс не поменяется, поменяется "значение указателя" ведь он тем или иным способом хранит информацию о ТИПЕ! при приведении типов старым способом компилер должен переберать сначала static_cast если не уместно то reinterpret_cast потом может взять dynamic_cast. чаще всего берется reinterpret_cast не проверяются типы и т.д. т т.п. |
|
|
Текстовая версия | Сейчас: 15.1.2025, 16:55 |