Конечно можно. А что помешало проверить?
У тебя ошибка возникает из-за размерности массивов, mas2 двухмерный массив, а на входе в функцию одномерный.
А как, не могу понять. Если можете тоже простой код как сделать, или в моем укажите что не так сделал. Заранее спасибо.
void OnStart() { int mas1[]; int mas2[][2]; func(mas1, mas2); } //+------------------------------------------------------------------+ void func( int &arr[], int &arr2[][]) { Alert( ArrayDimension( arr ) ); }
Код вставляй через кнопку SRC на панельке выше окна ввода.
Понял что ругается на разные размерности. Но как сделать функцию которая будет получать массив любого размера и печатает его размерность? Никак не въеду. То есть надо писать только разные функции для разных размерностей, так что ли?
Может перегруженной функцией.
По сути будут разные функции, но вызываться будут одинаково.
Спасибо. То есть я правильно понял, что размерность многомерного массива нужно указывать явно при передаче в функцию.
Я хотел сделать вот так изначально:
void OnStart() { int mas1[2]; int mas2[][2]; func( mas1 ); func( mas2 ); } //+------------------------------------------------------------------+ void func( int &arr[] )//здесь хотел указать что передаю массив(любой размер). То есть подаю массив разной размерности а в зависимости от размерности по разнму растягиваем. { if( ArrayDimension( arr )==1 )//а здесь в зависимости от размерности растягивать { ArrayResize( arr,2 ); } if( ArrayDimension( arr)>1 )// и здесь по разному { ArrayResize( arr,ArraySize( arr)+1); } }
Так не получится.
Не совсем так. Перегрузка это из ООП. Здесь почитай.
Спасибо за помощь.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хочу написать функцию печати размерности массива.
void OnStart()
{int mas1[];
int mas2[][2];
func( mas1 );
func( mas2 );
}
//+------------------------------------------------------------------+
void func( int &arr[] )
{
Alert( ArrayDimension( arr ) );
}
выдает ошибку: 'mas2' - invalid array access Проверка 1.mq4 72 10
Вопрос можно ли в функцию одновременно передавать одномерные и многомерные массивы. Не могу понять?