【发布时间】:2019-02-23 19:45:03
【问题描述】:
当我像这样进行动态施法时,我创建了三个类(生物、龙、巫师)龙和巫师从生物类继承
void dragon::atk(creature *creat){
if(dynamic_cast<dragon*>(creat))
//
不能dynamic_cast 'creat'(类型为'类生物*')到类型'类龙*'(源类型不是多态的)|
我查了很多但不知道为什么会出现这个错误
【问题讨论】:
-
表示
creature必须至少有一个虚函数。在您的情况下,它至少应该是析构函数。 -
请提供minimal reproducible example。你说
dragon继承自creature?代码或它没有发生:P -
我做虚函数后就可以了