Удаление указателя на 2d массив в деструкторе заканчивается сбоем - PullRequest
0 голосов
/ 22 мая 2018

У меня проблема с деструктором в классе, который я создал.

Мой конструктор выглядит так:

chess_b = new int*[N];
for (int i = 1; i <= N; i++)
     chess_b[i] = new int[N]; 

и детектор выглядит так:

for (int i = 1; i <= N; i++)
    delete[] chess_b[i];

delete[] chess_b;

Бывают моменты, когда все работает нормально, но часто вылетает, и когда я пытаюсь отладить, это указывает на следующую строку кода:

delete[] chess_b[i];

Я пытался использовать это-> но это не помоглоработать тоже.

Заранее спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Ваш цикл for должен быть от 0 до N-1, а не от 1 до N

0 голосов
/ 22 мая 2018

Индексы в C ++ должны быть от 0 до N-1:

for (int i = 0; i < N; i++)
...