Как удалить динамический массив?
В файле заголовков Unit1.h объявил переменные и сам массив
...
private: // User declarations
int n;
int m;
int p;
char ***ar;//массив ar[n][m]
...
надо делать delete[] для каждой "строки" каждой размерности, короче в обратном порядке, как выделалсь под него память
Цитата: oxotnik333
как удаляешь?
надо делать delete[] для каждой "строки" каждой размерности, короче в обратном порядке, как выделалсь под него память
надо делать delete[] для каждой "строки" каждой размерности, короче в обратном порядке, как выделалсь под него память
Я так и делал.
Объявлял массив в событии FormCreate():
char ***ar=new char**[n];
for(int i=0; i<n; i++)
ar=new char*[m];
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
ar[j]=new char[p+1];
А удалял в событии FormClose():
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
delete[]ar[j];
for(int i=0; i<n; i++)
delete[]ar;
delete[]ar;
И при закрытии формы(срабатывании события FormClose() ) выскакивает ошибка, связанная с памятью. Т.е. удаление не происходит.