gpt4 book ai didi

c++ - Visual Studio 2008,错误 c2039 : 'set_new_handler' : is not a member of 'std'

转载 作者:可可西里 更新时间:2023-11-01 11:22:47 26 4
gpt4 key购买 nike

所以前几天我去编译我正在处理的 VC++ 项目,突然间我几乎所有的文件都出现错误:

new.h: error C2039: 'set_new_handler' : is not a member of 'std
new.h: error C2039: 'set_new_handelr' : symbol cannot be used in a using-declaration

“new.h”和“set_new_handler”没有在我的任何文件中使用,所以我不知道这些错误是如何或为什么突然出现的,因为它们与 windows/VS 库文件有关。

谁知道我可以做些什么来清除这个错误并重新编译我的代码?

更新 在检查编译时包含的文件后,有些文件包含,有些文件包含 .问题是它被包含在 afxwin.h 中并且被包含在第三方库中。老实说,我不知道该如何处理这个问题……没有其他玩过这段代码的开发人员遇到过这个问题,可能是设置问题?我没有使用预编译头文件。

最佳答案

如果让我冒险猜测,我会说 <new.h>声明 set_new_handler在全局命名空间和 <new>std 中声明它命名空间。一些代码包括 <new.h>并期望它表现得好像它包含了<new> .我会怀疑某些第 3 方库/ header 或 Evan 建议的预编译 header 。

您可以使用 /showIncludes 缩小罪魁祸首或预处理源代码文件(使用 /E )并检查输出。我通常使用后者并查看 #line输出文件中的指令以找出包含链。

祝你好运。

关于c++ - Visual Studio 2008,错误 c2039 : 'set_new_handler' : is not a member of 'std' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com