«оператор new» и «оператор delete» должны определяться вместе
«оператор new» и «оператор delete» определяются вместе.
Обычно вы перегружаете operator new
для выполнения некоторой бухгалтерии в дополнение к выделению памяти в свободном хранилище. Если вы не перегрузите соответствующий operator delete
Вероятно, вы опускали некоторую соответствующую бухгалтерию при снятии памяти.
Дефект может также указывать на ошибку кодирования. Например, вы перегрузили форму размещения operator new[]
:
void *operator new[](std::size_t count, void *ptr);
operator delete[]
:void operator delete[](void *ptr);
void operator delete[](void *ptr, void *p );
При перегрузке operator new
, убедитесь, что вы перегрузите соответствующий operator delete
в тех же возможностях и наоборот. Как найти operator delete
соответствующий operator new
, см. страницы с описанием для operator new
и operator delete
.
Проверка правил вызывает нарушение при перегрузке operator new
но не перегружайте соответствующий operator delete
, или наоборот.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Библиотека языковой поддержки |
Категория: Необходимый, Автоматизированный |