Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
два варианта
1. Создать одномерный с нужной размерностью и в 2-х вложенных циклах перекинуть в него содержимое
2. Провести эксперимент - передавать двумерный, а принять как одномерный. Просто я не знаю, как там адресацией элементов. Это 5 минут проверить. И вообще, скомпилируется ли такой трюк.
1 вариант не подходит, потому что это скорость и это к сожалению долго. А вот второй вариант у меня и вопрос, как оно считать будет, но по ходу не правильно если делать просто так в лоб.
У Вас оба измерения массива неизвестны?
MQL производит большинство операций с одномерными.
Не помню уже, но такое вроде бы передавалось:
test[i,5]
//не утверждаю, попробуйте
Как вариант - формируйте массив в функции
Еще вариант: массив не обязательно передавать в большинстве случаев, чаще достаточно передать индекс, и обратиться к созданному массиву в теле программы, уже внутри функции по индексуЛично я не люблю всех этих многомерных массивов.
Но если надо - обычно делаю специальный класс, и потом - просто передаю указатель на объект.
Прошу подсказать, как в функцию передать второе измерение двумерного массива в функцию (одномерный массив) и инициализировать его?
Разве перегрузка функций это не относится к ООП?
Смотрите у меня функция имеет такую сигнатуру void InitArray(double& a[]), как в неё передать массив, который по определению double arr[][], вообще возможно это сделать? Чтобы обрабатывать к примеру внутри функции arr[0][], arr[1][], каторые по сути своей уже одномерны. Сигнатуру функции нельзя менять.
если функция принимает одномерный то и передавать надо одномерный. но вокруг одномерного можно сделать свою обвязку, которая маппит его с нужной мерностью
ну вот как прописать параметр, чтобы передался именно одномерный (второе измерение) двухмерного массива, arr[0][] будет же неправильно?
а так вообще нельзя )
Просто на С это делается, а на MQL4 нереально такое?
С код:
Универсальный подход. Это интерпретировать любой двумерный массив, как одномерный, и передавать значения размеров каждой размерности массива.
Например,