2

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

  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.

4

1 回答 1

10

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

于 2012-06-08T14:31:53.583 回答