Название: приведение типа к QObject* ? Отправлено: Alf от Сентябрь 12, 2011, 17:09 Существует иерархия классов:
Код
Где-то соединяю сигнал со слотом: Код
myX - указатель на объект класса X myB - указатель на константный объект класса B Вопрос: почему компилятор ругается следующим образом ? Цитировать ошибка: C2664: 'bool QObject::connect(const QObject *,const char *,const QObject *,const char *,Qt::ConnectionType)' : cannot convert parameter 3 from 'const B *' to 'const QObject *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast Т.е. почему компилятор не в состоянии автоматически выполнить приведение типа к 'const Object *', если класс B унаследован от QObject ? Другими словами, я не понимаю, почему это они 'unrelated' ? Естественно, прямое приведение типа помогает: Код
Компилятор - MS VC 2008. Название: Re: приведение типа к QObject* ? Отправлено: SASA от Сентябрь 12, 2011, 17:30 А в месте конекта виден ашник с классом B.
Название: Re: приведение типа к QObject* ? Отправлено: shirushizo от Сентябрь 13, 2011, 08:26 Код: class A : public QObject Название: Re: приведение типа к QObject* ? Отправлено: Alf от Сентябрь 13, 2011, 10:31 Цитировать А в месте конекта виден ашник с классом B. Точно ! В месте коннекта не было видно объявление класса ! Спасибо ! |