Новая версия платформы MetaTrader 5 build 4730: расширение поддержки OpenBLAS и общая оптимизация работы - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Допустимо сравнение только однотипных значений
Какая потенциальная ошибка может быть в этом выражении?
Вы ошибаетесь.
Вы троллите или как?
false == 0
true != 0
И false/true это предопределенный тип в mql, а не числовые значения пользователя (10, 100 и т.д.)
А то, что вот в этом примере нет предупреждения компилятора, возможно недочёт метаквотов.
Потенциально ведь может вернуться int 20
Какая потенциальная ошибка может быть в этом выражении?
Я не знаю какая ошибка может быть, я не владею ассемблером.
Я знаю правило, и его придерживаюсь, в остальное не надо вникать.
Но предполагаю можно нарваться на усечение.
Вот скорее всего это и есть потенциальная ошибка.
И у тернарного выражения есть правило.
Допустимо сравнение только однотипных значений
и т.д. для любых типов.
Где в вашем примере сравнение?
Я исправил сообщение, не сравнение а допустимо возвращать только однотипные значения.
Опечатался чуть чуть в терминах.
И у тернарного выражения есть правило.
Допустимо возвращать только однотипные значения.
и т.д. для любых типов.
А неявное приведение типов разве работать не будет?
А неявное приведение типов разве работать не будет?
Ну раз компилятор выдаёт предупреждение, то приводить надо явно.
Ну это классика при использовании тернарного оператора. Многие проходили уже, и я в том числе.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 4730: расширение поддержки OpenBLAS и общая оптимизация работы
Roman, 2024.12.05 21:23
А то, что вот в этом примере нет предупреждения компилятора, возможно недочёт метаквотов.
Вот это странно, хотя там 2 литерала и, возможно, компилятор умеет привести 20 к uint на этапе компиляции.
Вот это странно, хотя там 2 литерала и, возможно, компилятор умеет привести 20 к uint на этапе компиляции.
Нет, не в литералах дело. Он молча кастует -1 к uint даже с переменной.
Ну и с двумя литералами его тоже ничего не смущает
Даже так можно
Vladislav Boyko #:
Ну и с двумя литералами его тоже ничего не смущает
C# ругается, на плюсах нет возможности проверить