Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Результат побитовой операции двух bool - int.
потому что & это "Побитовая операция И" https://www.mql5.com/ru/docs/basis/operations/bit
а Вам скорее всего нужно && https://www.mql5.com/ru/docs/basis/operations/bool
Я знаю.
Вопрос в том, почему есть разница между этими двумя строками?
Я знаю.
Вопрос в том, почему есть разница между этими двумя строками?
Bitwise operations are performed with integers only.
try
Я знаю.
Вопрос в том, почему есть разница между этими двумя строками?
Потому, что в первой строке есть явное присвоение типа логической операции к типу bool: bool result = func1()&func2();
Во второй же строке из функции с типом bool возвращается результат логической операции, а он не bool: bool main() { return func1()&func2(); }
Потому, что в первой строке есть явное присвоение типа логической операции к типу bool : bool result = func1()&func2() ;
Во второй же строке из функции с типом bool возвращается результат логической операции , а он не bool: bool main() { return func1()&func2() ; }
@Ilyas
Извините, но нет никакой разницы. В первом случае нет явного приведения, но неявного.
Во втором случае компилятор знает, что это bool, и он также выполняет неявное приведение, но добавляет предупреждение. Это не связно.
P.S: I don't know if the translation is correct, so I will wait Ilyas answer, no offense.
Во втором случае компилятор знает, что это bool, и он также выполняет неявное приведение, но добавляет предупреждение. Это не связно.
да, компилятор выполнит приведение типов при выполнении команды return()
но предупреждение и появляется именно по этому вопросу
вот Ваш код:
функция main() имеет тип bool , а результат который получается в return() имеет целый тип , попробуйте вот такой пример:
в моем примере компилятор тоже напишет предупреждение, что возможна потеря данных.... у меня функция int main() , а результат в return() имеет тип double
https://docs.mql4.com/ru/basis/types/casting
https://docs.mql4.com/en/basis/types/casting