- Передача массива структур в функцию
- В MetaEditor обрезается подсказка у параметров функции
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Не о том речь. Необходимо передавать массивы (около 10) с разными именами на обработку одной функции - по очереди, конечно. Можно, конечно, описать их всех в функции, но тогда в этом теряется смысл. Проблема в том, что в описании функции имя массива для ссылки задается жестко и привязывается только к конкретному массиву.
void FunctionForAllArrays(double & Arr[]){ ... }
Нверно, плохо объясняю... Вет в примере
void FunctionForAllArrays(double & Arr[])
передается ссылка на архив с именем Arr[] и НИКАКОЙ ДРУГОЙ! У меня десяток архивов с РАЗНЫМИ именами, которые надо обработать ОДНОЙ функцией.
Нверно, плохо объясняю... Вет в примере
void FunctionForAllArrays(double & Arr[])
передается ссылка на архив с именем Arr[] и НИКАКОЙ ДРУГОЙ! У меня десяток архивов с РАЗНЫМИ именами, которые надо обработать ОДНОЙ функцией.
простите, конечно, не "архив", а "массив"... заработался. ..
Ну тогда не передавайте по ссылке, а в функции принимайте по ссылке)))
Екскьюз меня, а это еще как?.. Поподробнее, если можно!
start(){ MyArr1[]={...} MyArr2[]={...} FunctionForAllArrays(MyArr1);//обрабатываем массив 1 FunctionForAllArrays(MyArr2);//обрабатываем массив 2 } void FunctionForAllArrays(double & Arr[]){ ...//здесь работаем с массивом Arr и все что с ним делается происходит с массивом, который указан аргументом при вызове этой функции. }
start(){ MyArr1[]={...} MyArr2[]={...} FunctionForAllArrays(MyArr1);//обрабатываем массив 1 FunctionForAllArrays(MyArr2);//обрабатываем массив 2 } void FunctionForAllArrays(double & Arr[]){ ...//здесь работаем с массивом Arr и все что с ним делается происходит с массивом, который указан аргументом при вызове этой функции. }
Так было бы хорошо, но...
1. Массивы не передаются как аргументы в вызове функции - даже если в описании есть ссылка = &. Вычитано в форуме и хелпе на mql.
2. Кроме того, и в связи с п.1, ссылка в описании функции должна указывать на уже реально существующее имя массива, которое не может варьироваться в процессе выполнения проги.
какой ужас!!!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования