[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: 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]”类型)》