Это свисающий указатель?
int x = 25;
int** arr = new int*[5];
*arr[1] = x;
Я не могу понять, почему это не работает … * arr [1] является просто указателем и указывает на действительный адрес памяти.
arr[1]
является int*
и это неинициализировано. Это неопределенное поведение — разыменовать его.
Ты мог бы сказать arr[1] = &x;
, затем arr[1]
будет указывать на x
а также *arr[1]
было бы 25.
Не забывай delete [] arr;
когда вы закончите.
Других решений пока нет …