动态转换下面的代码时出现错误。
class CBase
{
};
class CDerived: public CBase
{
};
main()
{
CBase b;
CDerived* pd;
pd = dynamic_cast<CDerived*>(&b);
}
错误代码为:error C2683: 'dynamic_cast' : 'CBase' is not a polymorphic type.
答案 0 :(得分:10)
dynamic_cast
仅适用于 多态类 。
您的基类CBase
应该 至少有一个虚拟方法 。