У меня проблема при запуске моего кода в C++. У меня есть функция, и я динамически определяется двумерный массив в него, используя этот код:Ошибка повреждения кучи при освобождении массива в C++
double** childs=new double *[2];
for(int i=0;i<2;i++)
childs[i]=new double[node];
код работал хорошо, пока я не решил освободить этот массив в конце функции, я использовал код ниже:
for(int i=0;i<2;i++)
delete []childs[i];
delete [] childs;
После добавления этой части кода, у меня есть проблемы во время работы и появилась ошибка отладки, как на картинке ниже:
Я много искал, но я не понял, в чем проблема. Я знаю, что эта ошибка предназначена для освобождения части, потому что, когда я удаляю этот код, работает хорошо.
Может ли кто-нибудь помочь мне в этом? Большое спасибо
A Для без брекетов и без углублений вы просите о неприятностях. – Borgleader
Возможно, вы выписываете границы выделенных массивов. Или некоторые другие массивы. –
И что случилось с ['std :: array'] (http://en.cppreference.com/w/cpp/container/array) и [' std :: vector'] (http: //en.cppreference. ком/ж/CPP/контейнер/вектор)? –