Сообщение об ошибке означает, что целостность кучи программы была нарушена. Куча была сломана. Линия, которую вы удалили ... возможно, это был виновник, может быть, это не вина. Возможно, куча была повреждена каким-то кодом до этого (или даже задолго до этого), а удаленный вами new
просто выявил проблему, а не вызвал ее. Из того, что вы опубликовали, невозможно сказать.
Так что, возможно, вы фактически ничего не изменили, удалив эту строку. Ошибка все еще может быть, и программа просто потерпит неудачу в каком-то другом месте. Переполнение буфера, двойное освобождение или что-то в этом роде, как правило, виновно в поврежденной куче. Запустите ваш код через статическую или динамическую проверку, чтобы найти эти проблемы (valgrind, coverity и т. Д.)