关于C++类型转换的问题
问题:今天做了一个改动,就是将CEGUI的D3D9Renderer从游戏的渲染模块挪到了Adapter模块,由Adapter统一管理所有的GUI事务,包括GUI 的渲染工作,但是问题出现了,Renderer在初始化成功之后,再被Sample调用的时候,突然变成了无效的指针(不为空,是地址被改动了,里头的所有成员均未初始化),导致程序宕掉。
解决:原因,在将基类指针转换为其派生类指针时用了强行转换导致的……改用static_cast问题就解决了,不过看了网上的资料后,貌似用dynamic_cast更适合,HOHO。
关于类型转换的相关资料:
C++类型转化分析 http://blog.csdn.net/qychjj/archive/2009/11/28/4896411.aspx
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!