关于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

发表评论

电子邮件地址不会被公开。