我的Circle是Shape的派生类,
Shape *temp;
Circle *cir=dynamic_cast<Circle *>(temp);//为什么这里要出问题的啊?说什么异常

解决方案 »

  1.   

    网上找到一篇文章,希望对你有用。
    http://www.c-view.org/tech/lib/cboost/cast.htm
    里面我找到一句话:“C++内建的dynamic_cast必须用于转换引用类型,而不是指针类型。它也是唯一的可以用来检测给定接口是否被支持的转换;这种情况下,返回0不代表错误。”
      

  2.   

    用的是VC吧,默认编译器设置是不支持RTTI的,你要修改一下设置才可以。
    Setting -> c++ -> c++ language ->  enable rtti
      

  3.   

    默认不支持rtti的。要自己设置。