В классе есть функция:
При этом, если в коде я использую ее как:
Компиляция отлично проходит, никаких ошибок не возникает, а в качестве переменной c, передается 1. Исправьте пожалуйста подобное приведение типов.
Согласно документации (https://www.mql5.com/ru/docs/basis/types/casting). В C++ значения true/false от bool тоже конвертируются в числа 1/0 без потерь.
Согласно документации (https://www.mql5.com/ru/docs/basis/types/casting). В C++ значения true/false от bool тоже конвертируются в числа 1/0 без потерь.
Я понимаю, что с точки зрения хранения, тип bool это char, со значениями 0 и 1, однако, приведение типа bool к типу double во первых, лишино всякого логического смысла и в том же C/C++ компилятор требует явного приведения. Как минимум, тут уместен warning. И с чего бы это warning на приведение int и uint есть, а bool к double нет.
Я понимаю, что с точки зрения хранения, тип bool это char, со значениями 0 и 1, однако, приведение типа bool к типу double во первых, лишино всякого логического смысла и в том же C/C++ компилятор требует явного приведения. Как минимум, тут уместен warning. И с чего бы это warning на приведение int и uint есть, а bool к double нет.
Вы что-то путаете или неясно выражаетесь. Неявное приведение из int в double без проблем, без предупреждений. Покажите пример. Предупреждения выдаются там, где есть опасность потерять точность значения.
Вы что-то путаете или неясно выражаетесь. Неявное приведение из int в double без проблем, без предупреждений. Покажите пример. Предупреждения выдаются там, где есть опасность потерять точность значения.
Я показал пример, когда при вызове функции, bool свободно приводится к double.
Я просил пример, где бы выводилось предупреждение в Си, при аналогичном отсутствии предупреждения в MQL. Изначальный пример работает согласно справке - без предупреждения.
Вот это ваше высказывание требует доказательств или демо: "И с чего бы это warning на приведение int и uint есть..." На самом деле эти два типа приводятся к double также неявно, без предупреждений.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
При этом, если в коде я использую ее как:
Компиляция отлично проходит, никаких ошибок не возникает, а в качестве переменной c, передается 1. Исправьте пожалуйста подобное приведение типов.