crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> контейнер для указателей, Q
void*
  опции профиля:
сообщение 1.8.2008, 21:06
Сообщение #1


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


есть QList<QTreeWidgetItem*>, получаемый с помощью QTreeWidget::selectedItems(). Нужно брать первый элемент контейнера(в нем больше быть и не может) и для работы с ним преобразовать этот элемент в мой тип(TreeItem*, класс унаследованный от QTreeWidgetItem). Вот проблемный участок кода:
QTreeWidgetItem *i = tree->selectedItems().first(); //tree - QTreeWidget
TreeItem *item = qobject_cast<TreeItem*>(i);

но компилятор ругается:
ошибка: нет соответствующей функции для вызова ‘qobject_cast(QTreeWidgetItem*&)’

как с этим бороться? или может для указателей нужно использовать какие-то другие контейнеры, специализированные?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Red Devil
  опции профиля:
сообщение 2.8.2008, 11:09
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

Спасибо сказали: 1 раз(а)




Репутация:   3  


Цитата(Tonal @ 2.8.2008, 9:54) *
P.S. qobject_cast быс сделан чтобы заменить dynamic_cast который криво работает на некоторых старых компиляторах С++ которые приходится поддерживать тролям. На современных компиляторах смысла в нём нет.

гы-гы.
Я могу сказать, что тролли с версии 4.4.0, не то что старые, но и не очень старые компиляторы не поддерживают.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 17:10