动态投射以下代码时出现错误。
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.
最佳答案
dynamic_cast
仅适用于多态类。
您的基类CBase
至少应具有虚方法。
关于c++ - 动态转换中的错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10950829/