У меня есть домашнее задание, где мне приходится динамически выделять 2d-массив, и я получаю seg-ошибки, когда мои массивы длинны и тощие, например 2x8, и проблема возникает только тогда, когда определенные значения в массиве. вот мой код для создания массива, а затем его удаление.Seg fault динамически распределенный массив 2d
int main()
{
int **p;
int w, h;
cin >> w >> h;
p= new int *[w];
for (int k=0; k<w; k++)
p[k]= new int[h];
for (int i=0; i<h; i++)
{
for(int k=0; k<w; k++)
{
cin >> p[i][k];
}
}
for (int k=0; k < w; k++)
delete []p[k];
delete []p;
return 0;
}
example input that causes seg fault:
8 2
5 4 2 3 0 1 2 5
2 0 1 0 9 6 3 2
Использование gdb Я нашел, что это segfaulting сразу после первого удаления в цикле.