Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Xenom от Декабрь 24, 2017, 21:50



Название: Проблема с dynamic_cast
Отправлено: Xenom от Декабрь 24, 2017, 21:50
Компилятор ругается на то, что приводимый тип не является указателем или ссылкой, но по коду who указатель на Subject. В чем может быть проблема?

Код:
void Tree::onSubjectChanged(Subject *who)
{
    clear();
    PaintArea* friendArea = dynamic_cast<PaintArea*>(who);
    processNode(nullptr, friendArea->storege);
}
Код:
class PaintArea : public QWidget, public Subject

Цитировать
C:\Qt Projects\MyPaint\tree.cpp:32: ошибка: cannot dynamic_cast 'who' (of type 'class Subject*') to type 'class PaintArea*' (target is not pointer or reference to complete type)
     PaintArea* friendArea = dynamic_cast<PaintArea*>(who);
                                                         ^


Название: Re: Проблема с dynamic_cast
Отправлено: Racheengel от Декабрь 24, 2017, 22:59
#include забыли?


Название: Re: Проблема с dynamic_cast
Отправлено: Xenom от Декабрь 25, 2017, 08:49
Да. Прошу прощения.