3

演算子をオーバーロードするコードがありますnew。以下のコードは、Linux(gcc4x)では正常に機能しますが、Windows(Visual C ++ 2008 Express Edition)では機能しません。

Visual Studio 2008ExpressEditionレポートのコード

エラー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;
}
4

1 に答える 1

11

あなたがする必要があるかもしれません#include <new>

于 2010-09-10T10:10:58.710 に答える