错误运算符 new[] :函数不接受 1 个参数
我有重载运算符 new 的代码。下面的代码在 Linux (gcc4x) 下工作正常,但在 Windows (Visual C++ 2008 Express Edition) 下工作正常
Visual Studio 2008 Express Edition 下的代码报告
错误 C2660:运算符 new[]:函数不接受 1 个参数
class dummy{};
void* operator new[] (size_t size, dummy gcp)
{
return ::operator new[](size); //error
}
int main()
{
dummy dummyobj;
dummy* ptr = new (dummyobj) dummy[5];
return 0;
}
I have code that overloads operator new
. The code below works fine under Linux (gcc4x) but not Windows (Visual C++ 2008 Express Edition)
The code under Visual Studio 2008 Express Edition reports
error C2660: operator new[] : function does not take 1 arguments
class dummy{};
void* operator new[] (size_t size, dummy gcp)
{
return ::operator new[](size); //error
}
int main()
{
dummy dummyobj;
dummy* ptr = new (dummyobj) dummy[5];
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要
#include
。You might need to
#include <new>
.