Поделиться через


Ошибка компилятора C2323

"идентификатор": оператор или delete функции, не являющиеся членами, не могут быть объявлены new static или в пространстве имен, отличном от глобального пространства имен.

Операторы new перегрузки delete должны быть нестатичными, определенными в глобальном пространстве имен или как члены класса.

Ниже приводится ошибка 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
}

См. также

new операторы и delete операторы