现在的位置: 首页 > 综合 > 正文

[项目经验]在debug版编译加入/GZ选项后可发现构造函数中调用虚函数错误

2013年10月01日 ⁄ 综合 ⁄ 共 198字 ⁄ 字号 评论关闭

项目环境:windows visual studio 2003 C++

 

在一个项目中平时在debug版下没有遇到什么错误,连release版也不会出错,因为这个错是一个未定义的错误行为。但在debug版下加入“/GZ”编译选项后,运行时就会发现错误,原来是一个构造函数中调用了一个虚函数。通常在构造函数和析构函数中是不可以调用虚函数,因为这时对象并没有完成虚函数表的建立,所以在这时调用函数是很危险的。

抱歉!评论已关闭.