简体   繁体   中英

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

您可能需要#include <new>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM