Компилятор не должен был пропустить строку
demo d=new demo();
либо просто demo d;
либо demo *d=new demo;
Разберёмся
Компилятор не должен был пропустить строку
либо просто demo d;
либо demo *d=new demo;
Разберёмся
Самое интересное что я первый свой класc на MQL5 пытался сначала описать именно как demo d; на что компилятор ругнулся. Тогда я по накатанной уже пробовал demo *d=new demo; Но и здесь он ругнулся. В итоге мы с ним сошлись на demo d=new demo(); что меня очень удивило.
Мне так и не ответили, почему я не могу ссылаться к элементу массива по значению, хранящемуся в другом члене этого же класса.. Получается работа с массивами в классах и структурах ограничена в MQL5? или я ошибаюсь.
Спасибо за сообщение. Исправлено. Ждите обновления
В методе Resize класса CArrayDouble можно упростить вычисления.
Выражение
new_size=m_step_resize*(1+(size-Available())/m_step_resize);
элементарным преобразованием сводится к
new_size=m_step_resize+size-Available();
В методе Resize класса CArrayDouble можно упростить вычисления.
Выражение
элементарным преобразованием сводится к
это не поддаётся элементарной математике - используется особенность целочисленного деления
это не поддаётся элементарной математике - используется особенность целочисленного деления
Не плохо было бы знать как прочитать содержимое переменных причиняющих такие ошибки (array out of range)?
OnDeinit при такой ошибке не вызывается ...
Не плохо было бы знать как прочитать содержимое переменных причиняющих такие ошибки (array out of range)?
OnDeinit при такой ошибке не вызывается ...
Может, не совсем понял суть вопроса, но раньше при указании ошибки "array out of range" указывалось местоположение элемента (массива) вызывавшего ошибку. А там уж: хочешь - читай содержимое массива, хочешь - делай выводы без чтения.

- www.mql5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Столкнулся с такой проблемой. При запуске скрипта терминал выдает ошибку о размерности массива. Код приложен ниже.
demo d=new demo(); d.test(5);
Однако если вместо arr[i] скажем написать arr[0], то ошибки больше нет.
Что посоветуете уважаемые программисты?