Код: Выделить всё
class ClassName
{
int* array1d;
int** array2d;
ClassName(int size1, int size2)
{
array1d = new int[size1]; // work.
array2d = new int[size1][size2]; // doesn't work.
}
}
Я хочу понять, почему. Удерживает «массивы», поэтому им нужно знать размер типа данных «внутреннего массива». Таким образом, они будут выделять память для нее, в зависимости от длины внешнего массива и размера памяти длины внутреннего массива внешнего * sizeof (внутренний массив) , так что размер внутреннего массива должен быть постоянным.
>
Подробнее здесь: https://stackoverflow.com/questions/795 ... a-1d-array
Мобильная версия