Правило:
Вызовите столько delete
или delete[]
соответственно, сколько new
или new[]
вы использовали и по тем же адресам.
Так что, если вы только что позвонили new
на binRowPtrs
, вам просто нужно позвонить delete binRowPtrs
.
Однако, в той части кода, которую вы нам не показывали, если вы использовали динамическое выделение через new
для каждого из элементов массива, вам нужно перебрать массив и вызвать delete
для каждого из элемент также.
Обратите внимание, что в идеале,
В C ++ вы должны использовать динамические выделения только тогда, когда вы не можете их избежать &
Если вам все это нужно, никогда не используйте необработанные указатели, всегда используйте умные указатели RAII до , чтобы избежать явного управления памятью (вы уже заметил, что это опасно в вашем случае).