Russian Qt Forum
Ноябрь 26, 2024, 00:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: request is ambiguous  (Прочитано 4794 раз)
gaara
Гость
« : Июль 07, 2009, 14:40 »

подскажите, плиз

такая конструкция

Код:
ContactViewItem *cvi;
...
ContactViewItem *cvt = cvi->parent();
вызывает такую ошибку..
Цитировать
contactview.cpp:3054: error: request for member `parent' is ambiguous
c:/Qt/include/Qt3Support/../../src/qt3support/itemviews/q3listview.h:142: error:
 candidates are: Q3ListViewItem* Q3ListViewItem::parent() const
c:/Qt/include/QtCore/../../src/corelib/kernel/qobject.h:243: error:
    QObject* QObject::parent() const
суть ошибки я понимаю, компилятор не может определить какую именно parent ему нужно использовать.. нужно как-то вручную указать ему.. подскажите, как это делается?
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Июль 07, 2009, 15:25 »

Покажи определение ContactViewItem. Если он наследован только от Q3ListViewItem, то такой ситуации быть не должно.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #2 : Июль 07, 2009, 15:27 »

виновато множественное наследование, в результате которого в наследника приходит два метода с одинаковыми сигнатурами. Решение:

Код
C++ (Qt)
ContactViewItem *cvt = cvi->QObject::parent();
 

Код
C++ (Qt)
ContactViewItem *cvt = cvi->Q3ListViewItem::parent();
 
Записан
gaara
Гость
« Ответ #3 : Июль 07, 2009, 16:06 »

так пробовал, но не работает.. пишет, что не может привести ContacViewItem к Q3ListViewItem

сделал так

Код:
public:
    ContactViewItem* ContactViewItem::parentCVI();

....

ContactViewItem* ContactViewItem::parentCVI()
{
ContactViewItem *item = (ContactViewItem *)Q3ListViewItem::parent();
return item;
}
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.089 секунд. Запросов: 22.