コンパイラ エラー C2323
'identifier': メンバー以外の演算子 new
または delete
関数を宣言 static
したり、グローバル名前空間以外の名前空間に含めたりすることはできません。
演算子とdelete
オーバーロード演算子はnew
、グローバル名前空間またはクラス メンバーとして定義されている非静的である必要があります。
次の例では C2323 が生成されます。
// C2323.cpp
// compile with: /c
static void* operator new(size_t); // C2323 since static
static void operator delete(void*); // C2323 since static
namespace NS
{
void* operator new(size_t); // C2323 since not defined in the global namespace
void operator delete(void*); // C2323 since not defined in the global namespace
}