Форма оператора delete должна соответствовать, форма нового оператора раньше выделяла память
Форма оператора delete должна соответствовать, форма нового оператора раньше выделяла память.
delete
оператор выпускает блок памяти, выделенной на куче. При попытке получить доступ к местоположению на куче, которую вы не выделили ранее, отказ сегментации может произойти.
Если вы используете обозначение отдельного объекта в delete
на указателе, который ранее выделяется с обозначением массивов для new
, поведение не определено.
Проблема может также подсветить другие ошибки кодирования. Например, вы, возможно, хотели использовать delete
оператор или предыдущий new
оператор на различном указателе.
Средство проверки отмечает дефект когда:
Вы выпускаете блок памяти с delete
оператор, но память не был ранее выделен с new
оператор.
Вы выпускаете блок памяти с delete
оператор с помощью обозначения отдельного объекта, но памяти был ранее выделен как массив с new
оператор.
Этот дефект применяется только к исходным файлам C++.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: вспомогательная библиотека языка |