Объявить пустой двумерный массив

 

Добрый вечер. Вот скриншот из документации:


mql4 array


Могу ли я объявить пустой двумерный массив, без начального указания количества элементов в первом и втором измерениях? Пробовал различные варианты, но выдаёт ошибку:

// Mql4 code

int arr[][] = {};

int arr[][];‌

int arr[0][0] = {};‌‌ 

int arr[0][0];‌‌‌

 
DocKlein:

Добрый вечер. Вот скриншот из документации:





Могу ли я объявить пустой двумерный массив, без начального указания количества элементов в первом и втором измерениях? Пробовал различные варианты, но выдаёт ошибку:

// Mql4 code

int arr[][] = {};

int arr[][];‌

int arr[0][0] = {};‌‌ 

int arr[0][0];‌‌‌

Первое измерение может быть динамическим, второе - нет. Т.е., для второго размер задавать обязательно.
 

Благодарю. Остался ещё один непонятный момент.
Инициировал массив с двумя измерениями:  int arr[1][5];
Как изменить количество элементов во втором измерении? Сейчас там 5 элементов, а нужно сделать 10.‌

Ф‌ункция ArrayResize() согласно документации устанавливает новый размер только лишь в первом измерении.

 
DocKlein:

Благодарю. Остался ещё один непонятный момент.
Инициировал массив с двумя измерениями:  int arr[1][5];
Как изменить количество элементов во втором измерении? Сейчас там 5 элементов, а нужно сделать 10.‌

Ф‌ункция ArrayResize() согласно документации устанавливает новый размер только лишь в первом измерении.

Идея не моя, но я ей пользуюсь

Познакомьтесь

int N1=4;
int N2=5;
//---
struct One_dimension_array_structure
   {
      double Second_dimension_array[];
   };
//---
One_dimension_array_structure First_dimension_array[];
//---
ArrayResize(First_dimension_array, N1);
//---
for (int i=0; i<ArraySize(First_dimension_array); i++)
{
   ArrayResize(First_dimension_array[i].Second_dimension_array, N2);
}
//---
First_dimension_array[3].Second_dimension_array[2]=....

как вариант решения‌