动态投射中的错误

时间:2012-06-08 14:30:48

标签: c++ dynamic-cast

动态转换下面的代码时出现错误。

  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.

1 个答案:

答案 0 :(得分:10)

dynamic_cast仅适用于 多态类
您的基类CBase应该 至少有一个虚拟方法

相关问题