Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе - страница 22
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хронология нашего диалога не имеет никакого отношения к наличию ошибки.
А что Вам мешало сразу этот конкретный пример привести?
Здесь вызывается ::f(), а в чем ошибка? В предупреждении? Оно говорит лишь о том, что в будущем порядок будет изменен. А будет ли в будущем (вместо предупреждения) ошибка или нет - здесь заранее сказать нельзя - зависит от того как Разработчики реализуют. Соответственно предупреждение в любом случае полезно, что не попасть в просак
А что Вам мешало сразу этот конкретный пример привести?
Он и был приведен. Дальнейшая реакция мне непонятна.
Здесь вызывается ::f(), а в чем ошибка? В предупреждении? Оно говорит лишь о том, что в будущем порядок будет изменен. А будет ли в будущем (вместо предупреждения) ошибка или нет - здесь заранее сказать нельзя - зависит от того как Разработчики реализуют. Соответственно предупреждение в любом случае полезно, что не попасть в просак
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе
fxsaber, 2021.11.16 21:10
Имеется в виду ошибочность warning.
Все. Сожрали мое время.
Он и был приведен. Дальнейшая реакция мне непонятна.
Все. Сожрали мое время.
Там похожий код, но другой
Warning не ошибочна - и я объяснил почему
А что Вам мешало сразу этот конкретный пример привести?
Здесь вызывается ::f(), а в чем ошибка? В предупреждении? Оно говорит лишь о том, что в будущем порядок будет изменен. А будет ли в будущем (вместо предупреждения) ошибка или нет - здесь заранее сказать нельзя - зависит от того как Разработчики реализуют. Соответственно предупреждение в любом случае полезно, что не попасть в просак
Мы планируем устранить родовую ошибку MQL компилятора, при объявлении фукнции внутри скопа, она должна переопределять (не путать с перегрузкой) "внешние" для данного скопа функции с такими же именами (например глобальные или по наследованию)
Сразу отключать не стали, пока выдаём предупреждение.
Родовая ошибка была осознанной, т.к. в MQL не было полноценной поддержки скопов, которую мы почти полностью реализовали в последних версиях компилятора.
Мы планируем устранить родовую ошибку MQL компилятора
Просьба показать на простом примере, каким будет планируемое поведение.
Просьба показать на простом примере, каким будет планируемое поведение.
Из простого:
А вот пример кода, за который мы переживаем
На первое время будем проверять наличие более точной по параметрам функции во "внешем" скопе, если обнаружится то будет предупреждение и совет, как его обойти.
На первое время будем проверять наличие более точной по параметрам функции во "внешем" скопе, если обнаружится то будет предупреждение и совет, как его обойти.
Спасибо, понятно. Этот код будет выдавать ошибку "'1' - parameter passed as reference, variable expected", потому что ::f(...) будет невидима для вызова f(...)?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 3091: Улучшения в работе
fxsaber, 2021.11.17 11:10
Спасибо, понятно. Этот код будет выдавать ошибку "'1' - parameter passed as reference, variable expected", потому что ::f(...) будет невидима для вызова f(...)?
Да, этот код будет выдавать ошибку компиляции и первое время (пока не определили сколько) будем давать совет:
"Возможно вы забыли указать '::' перед именем функции"
при объявлении фукнции внутри скопа, она должна переопределять (не путать с перегрузкой) "внешние" для данного скопа функции с такими же именами (например глобальные или по наследованию)
Это уточнение убрало все неоднозначности в понимании.