Ошибки, баги, вопросы - страница 3441
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет ошибки.
Если нет - ниже подобные примеры попроще - попробуйте объяснить почему в одном случае результат 3, а в другом 4, при том, что они отличаются только строкой (*) и каких-либо ошибок или warning при компиляции нет:
Результат: 3
Результат: 4
Для доказательства ошибки уже достаточно разного результата:
При том, что:
и это не считая того, что:
Пользуюсь OpenCL напрямую (с тех еще пор как в MQL ее запретили без поддержки double) - там нет ограничений. В MQL при определении размера (в частности буфера) нужно быть осторожным из-за неправильно определенного sizeof для x64 разрядной системы. Вот поясняющий пример:
Результат: -4
Ожидалось: 4294967292
не может тип int вместить в себя 4294967292
так прокатит:
Результат: 4
Это еще неисправленный баг.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4040: Улучшения и исправления
fxsaber, 2023.12.11 15:23
b4092, отсутствует ошибка компиляции.Пользуюсь OpenCL напрямую (с тех еще пор как в MQL ее запретили без поддержки double) - там нет ограничений.
Вроде как ограничение с double уже сняли.
Вы используете библиотеку, собранную на C++ для OpenCL?
не может тип int вместить в себя 4294967292
так прокатит:
Совершенно верно, но принципиальная ошибка в данном случае именно в sizeof
sizeof должен быть такого типа, чтобы возвращать максимально возможный размер в системе. Для x64 разрядных систем он должен выглядеть так:
Т.е. пользователь не должен думать, о корректности размера - произведение на sizeof всегда должно возвращать корректное значение.
Определим корректный sizeof:
Результат: 4294967292
как и ожидалось
А что изменилось по сравнению с первоначальным примером? - просто добавили строку (*)
Вроде как ограничение с double уже сняли.
Сняли далеко не сразу, а потом два раза на одни и те же грабли наступать - не располагаю такой возможностью
Это еще неисправленный баг.
Это еще неисправленный баг.
Баг в MQL - это не любое сомнительное поведение, а только если:
1) В Документации указано по-другому
2) Есть пример, который вступает в неразрешимое противоречие с исходным
3) В C++ по-другому, а в Документации пробел
А в ином случае - это Ваше личное мнение - тем более никакого противоречивого примера я там о Вас не видел (пункт 2), при том, что указанное ниже поведение соответствует и логике и С++ (пункт 3)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4040: Улучшения и исправления
A100, 2023.12.12 12:07
Вы не в теме просто - вот и чудятся везде баги, а их здесь нет (обобщил):
Это Вам любой грамотный пользователь подтвердит