есть существенный момент в работе с массивами..
перед тем как задавать "рабочий" размер массива его необходимо "занулить", т.е.
ArrayResize(c,0);
а после уже
ArrayResize(c,d);
в противном случае будут ошибки, даже если массив находится в функции и в ней он объявлен и изменяется его размер без зануления..
первый раз при вызове функции все корректно отработает, а при повторном вызове функции побудут косячки непредвиденные..
есть существенный момент в работе с массивами..
перед тем как задавать "рабочий" размер массива его необходимо "занулить", т.е.
а после уже
в противном случае будут ошибки, даже если массив находится в функции и в ней он объявлен и изменяется его размер без зануления..
первый раз при вызове функции все корректно отработает, а при повторном вызове функции побудут косячки непредвиденные..
нет, не нужно.
А если я объявил его так то тоже надо обнулять размер ?
double c[];
С двумерными сложнее, чтоб не париться их советую применять прямым объявлением размера без изменений (скажем так проще).
Хотя если есть необходимость то можно изменить и двумерный но нужно не забывать что в нём меняеться все размеры во втором измерении а не только тот что вызывался ну короче лучше не трожте их без особой надобности.
Не нужно ничего обнулять просто указываете новый размер и всё даже данные сохраняються.
Бывают проги когда нужно искать максимум массива а размер неясен зарание ну по условию задаёться так вот увеличиваешь размер на каждой итерации и всё норм а после выхода из цикла ведёшь поиск максимума по всему массиву тк он задан полседней итерацией то пустых или лишних данных на содержит то можно смело писать по умолчанию поиск во всём массиве.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. Подскажите. MQL поддерживает такое ? У меня не компилируется.
Если нет. То есть ли способы ?