В первом случае массив объявлен как одномерный, состоящий из трёх чисел 10,10,10. Размерность массива 1х3.
Во втором случае объявлен двумерный массив размерностью 10х5.
Во втором случае объявлен двумерный массив размерностью 10х5.
В первом случае запись некорректна.
Для инициализации используется запись double num_array={10,10,10}; с фигурными скобками.
Правильный вариант объявления второй.
Для инициализации используется запись double num_array={10,10,10}; с фигурными скобками.
Правильный вариант объявления второй.
Правильно! Я просмотрел отсутствие фигурных скобок в первом варианте.
спасибо!
Жаль, что в первом случае компилер ничего не говорит!
Жаль, что в первом случае компилер ничего не говорит!
Вобщем-то 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]); //---- }
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
double num_array[10,10,10];
а в хелпе по int ArrayDimension( object array[])
int num_array[10][5];
Вопрос: как правильно объявить массив?
Компилятор в обоих случаях ничего не говорит.
Может, есть какие-то нюансы этих объявлений?