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

来源:互联网 发布:微信恶搞视频软件 编辑:程序博客网 时间:2024/04/29 07:00

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

 

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

原创粉丝点击