RTTI没有设置, 会使多态时强转过来的类指针没有指到正确的类, 引起程序崩溃.
因为和代码无关, 初看起来有些奇怪.
RTTI的设置: 以vs6和vs2010为例
RTTI含义
RTTI用途: 为了使多态的类转换时, 能强转到正确的类指针上.
如果使用了dynamic_cast, 就要设置RTTI, 必须的
编译时如果出现"warning C4541: 'dynamic_cast' ...", 就说明没有设置RTTI.
这个警告如果用 #pragma warning(disable : 4541)屏蔽掉, 出现的运行时错误还真不好理解.
<2011_0201_1459>
如果需要强转的类在DLL中, 必须使这个DLL也设置RTTI重新编译一次.
只在调用者处设置RTTI是没用的, 例如: xerces-c_2_8.dll