标签: c++ oop
当我像这样进行动态投射时,我已经创建了三个类(生物,龙,巫师),龙和巫师是从生物类继承的。
void dragon::atk(creature *creat){ if(dynamic_cast<dragon*>(creat)) //
不能dynamic_cast“创建”(类型为“类生物*”的类型)以键入“类龙*”(源类型不是多态的)|
我进行了很多搜索,但不知道为什么会发生此错误
答案 0 :(得分:1)
dynamic_cast通常为requires polymorphic types。这意味着所涉及的类型必须至少具有一个虚拟成员函数(可以是析构函数)。
dynamic_cast