Compiler Error C2323
'identifier': non-member operator new
or delete
functions may not be declared static
or in a namespace other than the global namespace.
The new
and delete
overload operators must be non-static, defined in the global namespace or as class members.
The following generates 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
}