gpt4 book ai didi

c++ - 错误 35 错误 C2661 : 'operator new' : no overloaded function takes 2 arguments

转载 作者:行者123 更新时间:2023-11-28 02:36:01 25 4
gpt4 key购买 nike

我不是精通 C++ 的程序员,我在一个 Visual Studio 解决方案中完成了一个非常大的项目(实际上有 24 个)。

我在几乎所有的项目中都遇到了这个错误,但我不知道如何解决它。

当我双击错误时,它会将我带到这个地方:

for( int i = 0; i < nNewSize; i++ )
#pragma push_macro("new")
#undef new
::new((void*)(m_pData+i))TYPE;
#pragma pop_macro("new")

构建订单输出给我这个:

c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxtempl.h(403): error C2661: 'operator new' : no overloaded function takes 2 arguments
19> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxtempl.h(368) : while compiling class template member function 'void CArray<TYPE,ARG_TYPE>::SetSize(INT_PTR,INT_PTR)'
19> with
19> [
19> TYPE=D2D1_GRADIENT_STOP,
19> ARG_TYPE=D2D1_GRADIENT_STOP
19> ]
19> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxtempl.h(643) : see reference to function template instantiation 'void CArray<TYPE,ARG_TYPE>::SetSize(INT_PTR,INT_PTR)' being compiled
19> with
19> [
19> TYPE=D2D1_GRADIENT_STOP,
19> ARG_TYPE=D2D1_GRADIENT_STOP
19> ]
19> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxtempl.h(355) : while compiling class template member function 'CArray<TYPE,ARG_TYPE>::~CArray(void)'
19> with
19> [
19> TYPE=D2D1_GRADIENT_STOP,
19> ARG_TYPE=D2D1_GRADIENT_STOP
19> ]
19> c:\program files (x86)\microsoft visual studio 11.0\vc\atlmfc\include\afxrendertarget.h(1028) : see reference to class template instantiation 'CArray<TYPE,ARG_TYPE>' being compiled
19> with
19> [
19> TYPE=D2D1_GRADIENT_STOP,
19> ARG_TYPE=D2D1_GRADIENT_STOP
19> ]

afxrendertarget.h 在 1028 有这一行

CArray<D2D1_GRADIENT_STOP, D2D1_GRADIENT_STOP>      m_arGradientStops;

我试图在我的脚本中评论这些行:

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

但是没有效果。

请帮帮我!

最佳答案

您显示的一小段代码很糟糕:if new定义为一个宏,你有未定义的行为,至少如果你包含任何标准标题。

不过,我认为编译器提示的那一行是一些东西称为安置新。要使用它,您必须包含标题 <new> . (如果 new 已被定义为宏,这将起作用。找到这个定义出现的地方,然后去掉它。)

关于c++ - 错误 35 错误 C2661 : 'operator new' : no overloaded function takes 2 arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422608/

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