Название: Cannot convert Отправлено: Xenom от Декабрь 11, 2017, 20:53 Цитировать cannot convert 'Circle*' to 'QFrame::Shape*' in initialization Shape *shape = new Circle(); Код: class Shape : public QWidget Код: class Circle P.S. Компилятор gcc Название: Re: Cannot convert Отправлено: kambala от Декабрь 11, 2017, 21:06 - отсутствует Q_OBJECT в Circle, возможно дело в этом
- сообщение об ошибке какое-то странное: упоминает QFram (QFrame?), хотя Shape наследуется от QWidget Название: Re: Cannot convert Отправлено: Xenom от Декабрь 11, 2017, 21:15 -Добавил Q_OBJECT, запустил qmake, проблема осталась
-QFrame Название: Re: Cannot convert Отправлено: Xenom от Декабрь 11, 2017, 21:25 Наверно это связоно с тем, что я создаю Circle в mousePressEvent, так как попробовал так же создать в конструкторе MainWindow там без ошибок.
Название: Re: Cannot convert Отправлено: kambala от Декабрь 11, 2017, 23:10 значит надо показать больше кода, как минимум этот mousePressEvent
Название: Re: Cannot convert Отправлено: Igors от Декабрь 12, 2017, 09:40 А что за QFram? Может классы объявлены в разных namespace(ах) ?
Название: Re: Cannot convert Отправлено: Old от Декабрь 12, 2017, 09:44 В QFrame есть свой тип Shape, он доступен всем наследникам этого класса, а их не мало.
Или переименуйте класс Shape, или поместите его в свой namespace и указывайте его, или показывайте компилятору. Сейчас можно указатель компилятору, что Shape внешний класс: Код
Название: Re: Cannot convert Отправлено: Xenom от Декабрь 12, 2017, 13:17 Спасибо, переименовал класс помогло.
|