您的位置:首页 > 运维架构

operator new 函数不接受 3 个参数(错误及修正方法)

2014-06-25 13:53 357 查看
问题一般由Debug版本下的宏定义引起。

调试版本中 MFC 定义一个将 new 运算符扩展到带两个额外参数的重载 新 运算符预处理器宏。 额外的参数是源代码文件名称和代码行版本号。MFC
可以使用此信息向程序员在调试模式下报告内存泄漏。 这适用于 MFC 类因为 MFC 提供的新接受额外的参数的重载。但是,因为此展开通过在预处理器,它会影响所有使用 new 运算符。
如果在项目中使用任何非MFC 类, 新的运算符也会扩展。这样会导致重载过new运算符的非MFC类无法正确创建。简单的解决办法的是添加#undef
new。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐