@Mr_Vitas

Как правильно удалять двумерные массивы С++?

Добрый день!

Сижу и думаю что я делаю не так...

Создаю двумерный динамический массив. Он создаётся и функционирует нормально. Но когда я его пытаюсь удалить, то выскакивает исключение о нарушении доступа.

Вот код:
...
class myClass{
private:
    size_t** m;
    size_t height, width;
public:
    myClass(size_t h, size_t w){
        this->height = h;
        this->width = w;
        this->m = new size_t*[this->height];
        for(int n = 0; n < this->height; n++)
            this->m[n] = new size_t[this->width];
    }
}

    ~myClass(){
        for(int o = 0; o < this->height; o++)
            delete[] this->m[o];
        delete [] this->m;
    }


Заранее спасибо
  • Вопрос задан
  • 272 просмотра
Решения вопроса 1
@Mr_Vitas Автор вопроса
Как мне ответили в комментариях, я просто удалял массив дважды, неправильно объявив деструктор. Стандартный вполне себе справляется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы