error C2665: “operator new”: 6 个重载中没有一个可以转换所有参数类型

[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Dreamlike博客,本文链接: error C2665: “operator new”: 6 个重载中没有一个可以转换所有参数类型

想在VS2010的MFC程序中集成boost asio,所有用到的头文件和库都准备好后,发现编译报错了:

error C2665: “operator new”: 6 个重载中没有一个可以转换所有参数类型

网上查了资料,说是MFC定义的宏有冲突,解决方法如下:

据说是因为STL与DEBUG NEW运算符的冲突(影响list、vector等)

解决方法1:

注释掉以下代码:
#ifdef _DEBUG
#define new DEBUG_NEW
#endif

解决方法2:

将代码中的#include <vector>移到stdafx.h的开头,也就是#program once的后面。

 

参考文档:《error C2665: “operator new” : 5个重载中没有一个可以转换参数1(从“const char [71]”类型)

如果本文对您有所帮助,可以请作者喝杯咖啡,感谢支持^_^

支付宝支付
微信支付

发表评论

电子邮件地址不会被公开。 必填项已用*标注