Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
смена пола - прямо на глазах)
Спалился от раздражения)
вернитесь на предыдущий билд
Как вернуться? Где предыдущий билд?
Ошибка у меня действительно ={0}. Но тоже пришлось править около 123 мест...
Прочитайте Define, функции, макро. Будущее легче.
смена пола - прямо на глазах)
...
Компилятор выдаёт предупреждение на то что не указано явно
А по поводу того, правильно или не правильно ругается компилятор - смотрим документацию по bool-овскому типу данных (https://www.mql5.com/ru/docs/basis/types/integer/boolconst).
Так однозначно указано, цитирую: " Необходимо отметить, что в логических выражениях допустимо использовать вместо типа bool другие целые или вещественные типы или выражения этих типов, компилятор не выдаст ошибки. В таком случае значение ноль будет интерпретировано как false, а все остальные значения как true. "
Немного модифицируем пример из этого описания:
- видно, что в первом случае компилятор пропускает код без проблем, во втором случае он ему не нравится (хотя раньше всё работало исправно).
Желающие могут проверить это самостоятельно - пример прикрепляю.
Мне, как бы не сложно исправить свой код в 2000 местах, в сущности, это просто работа, которая хорошо оплачивается рынком.
Но как-то "За державу обидно" :)
Из последнего - часто ошибочные инициализации структур как ={0}.
Инициализация {} на которую предлагают заменить еще хуже, разве нет?
Удар током от клавы - это всегда полезно, для осознания бренности бытия ...
А по поводу того, правильно или не правильно ругается компилятор - смотрим документацию по bool-овскому типу данных (https://www.mql5.com/ru/docs/basis/types/integer/boolconst).
Так однозначно указано, цитирую: " Необходимо отметить, что в логических выражениях допустимо использовать вместо типа bool другие целые или вещественные типы или выражения этих типов, компилятор не выдаст ошибки. В таком случае значение ноль будет интерпретировано как false, а все остальные значения как true. "
Немного модифицируем пример из этого описания:
- видно, что в первом случае компилятор пропускает код без проблем, во втором случае он ему не нравится (хотя раньше всё работало исправно).
Желающие могут проверить это самостоятельно - пример прикрепляю.
Мне, как бы не сложно исправить свой код в 2000 местах, в сущности, это просто работа, которая хорошо оплачивается рынком.
Но как-то "За державу обидно" :)
Так ошибки и нет , это предупреждение. С предупреждениями компилируется без проблем. А предупреждения эти от того что возможно корректность работы будет нарушена при неявном преобразовании.
PS конечно сложно не понять что только 0 это false , но мало ли какое чудо вдруг компилятору в голову стрельнет.......
Так ошибки и нет , это предупреждение. С предупреждениями компилируется без проблем. А предупреждения эти от того что возможно корректность работы будет нарушена при неявном преобразовании.
PS конечно сложно не понять что только 0 это false , но мало ли какое чудо вдруг компилятору в голову стрельнет.......
Вы настолько в этом уверены ?? :-)
вставить сравнение с нулем было в разы быстрее (и правильнее изначально) чем писать этот ваш пост