I have code that operator overloads new. The code below works fine under Linux (gcc4x), but not Windows (Visual C ++ 2008 Express Edition)
Code in Visual Studio 2008 Express Edition reports
error C2660: new [] operator: the function does not accept 1 argument
class dummy{};
void* operator new[] (size_t size, dummy gcp)
{
return ::operator new[](size);
}
int main()
{
dummy dummyobj;
dummy* ptr = new (dummyobj) dummy[5];
return 0;
}
source
share