Canj's trail
2010年5月30日星期日
Bug Series - crash at delete pointer
void Scene::setCamera(Camera *_camera) {
if (m_pCamera) {
delete m_pCamera;
m_pCamera = 0;
}
this->m_pCamera = _camera;
}
这个是错的, 因为第一次到if时候, m_pCamera之前不一定是new出来的而因为垃圾数据而非零, 于是在delete时候就crash了.
所以m_pCamera需要在构造函数中初始化为0.
没有评论:
发表评论
较新的博文
较早的博文
主页
订阅:
博文评论 (Atom)
没有评论:
发表评论