user1492900
user1492900

Reputation: 575

Error operator new[] : function does not take 1 arguments

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;
}

Upvotes: 3

Views: 1956

Answers (1)

doron
doron

Reputation: 28892

You might need to #include <new>.

Upvotes: 11

Related Questions