Compilerfehler C2323

'identifier': Nicht-Memberoperator new oder delete -funktionen dürfen nicht deklariert oder in einem anderen Namespace als dem globalen Namespace deklariert static werden.

Die new Operatoren und delete Überladungen müssen nicht statisch sein, im globalen Namespace oder als Klassenmmber definiert sein.

Im Folgenden wird C2323 generiert:

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

Weitere Informationen

new und delete Operatoren