Нужно передать в функцию для заполнения двумерный массив. Функция объявлена blablabla(double & values[][2]). Внутри функции значения присваиваются, но после выхода из функции в заполяемых элементах нули. Ограничение MQL? В хелпе есть только пример передачи по ссылке одномерного массива.
- Как передать второе измерение двумерного массива по ссылке в функцию?
- Полезные функции от KimIV
- Извлечение 2-х массивов из dll
marketeer писал(а) >>
Нужно передать в функцию для заполнения двумерный массив. Функция объявлена blablabla(double & values[][2]). Внутри функции значения присваиваются, но после выхода из функции в заполяемых элементах нули. Ограничение MQL? В хелпе есть только пример передачи по ссылке одномерного массива.
Нужно передать в функцию для заполнения двумерный массив. Функция объявлена blablabla(double & values[][2]). Внутри функции значения присваиваются, но после выхода из функции в заполяемых элементах нули. Ограничение MQL? В хелпе есть только пример передачи по ссылке одномерного массива.
int start(){ double bla[10][2]; blablabla(bla); } void blablabla(double & values[][]){ }
У меня массив ресайзится по первой размерности перед вызовом (уж не знаю - важно ли это). Писал в заголовке функции и массив без указания размеров как у Вас, и с указаниями - все равно наружу изменения не передаются. В общем, вернулся к паре массивов.
Все работает.
И так работает:
int start() { //---- int y[][2]; x(y); for(int i=0;i<10;i++)Alert("#"+i+" - "+y[i][0]+", "+y[i][1]); //---- return(0); } //+------------------------------------------------------------------+ int x(int & y[][]){ ArrayResize(y,10); for(int i=0;i<10;i++){ y[i][0]=i; y[i][1]=10+i; } }
И так работает:
int start() { //---- int y[][2]; ArrayResize(y,10); x(y); for(int i=0;i<10;i++)Alert("#"+i+" - "+y[i][0]+", "+y[i][1]); //---- return(0); } //+------------------------------------------------------------------+ int x(int & y[][]){ for(int i=0;i<10;i++){ y[i][0]=i; y[i][1]=10+i; } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь