博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VC++内启RTTI

Posted on 2011-09-02 11:11  李大嘴  阅读(1063)  评论(0编辑  收藏  举报

使用dynamic_cast就必须在编译器中启动RTTI,即“运行时期类型识别”。默认情况下编译器是不启动RTTI的。凡是程序中用到了RTTI(比如typeid)都要在编译器中打开RTTI,这样才能正确编译。

VC6下启动RTTI:

Project->settings->c/c++->category->c++ language,将Enable Run-Time Type Infomation(RTTI)选中,或者直接使用/GR编译选项.

VS.net2003下启动RTTI:

项目->项目属性->C/C++->语言,将“启用运行时类型信息” 选择为“是”。