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には、少なくとも1つの仮想メソッドが必要です。

于 2012-06-08T14:31:53.583 に答える