Скачать MetaTrader 5

Объявление массива

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нет времени на изучение MQL5? Закажи приложение у разработчика!
Forex Trader
114257
Forex Trader 2006.12.10 12:47 
В хелпе по int ArrayRange( object array[], int range_index) пример объявления массива:
double num_array[10,10,10];

а в хелпе по int ArrayDimension( object array[])
int num_array[10][5];

Вопрос: как правильно объявить массив?
Компилятор в обоих случаях ничего не говорит.
Может, есть какие-то нюансы этих объявлений?
Forex Trader
114257
Forex Trader 2006.12.10 22:37  
В первом случае массив объявлен как одномерный, состоящий из трёх чисел 10,10,10. Размерность массива 1х3.
Во втором случае объявлен двумерный массив размерностью 10х5.
Forex Trader
114257
Forex Trader 2006.12.11 00:35  
В первом случае запись некорректна.
Для инициализации используется запись double num_array={10,10,10}; с фигурными скобками.
Правильный вариант объявления второй.
Forex Trader
114257
Forex Trader 2006.12.11 07:24  
Правильно! Я просмотрел отсутствие фигурных скобок в первом варианте.
Forex Trader
114257
Forex Trader 2006.12.11 17:39  
спасибо!
Жаль, что в первом случае компилер ничего не говорит!
MetaQuotes Software Corp.
Модератор
181273
MetaQuotes Software Corp. 2006.12.12 01:03  
Вобщем-то MQL4 компилер чуток позволяет лишнего и допускает описание размерностей через запятую. Это оставшийся атавизм от MQL2.

Вот эти два массива одинаковые.
void init()
  {
   double num_array[10,10,10];
   double num_array2[10][10][10];
//----
   num_array[4][2][1]=1;
   num_array2[4][2][1]=2;
   Print("Num ",num_array[4][2][1], " Num2 ",num_array2[4][2][1]);
//----
  }
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий