У меня есть код, который перегружает оператор 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;
}