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