как правильно преобразовать не получив предупреждение компилятора о потере данных на выходе?
например функция ChartGetInteger возвращает значение типа long, а использовать мне его нужно в функции с входным параметром int.
https://www.mql5.com/ru/docs/basis/types/casting

- www.mql5.com
long long_y = 12345; int y; y = (int)long_y;
https://www.mql5.com/ru/docs/basis/types/casting
ответ "это невозможно" меня не устраивает.
еще есть мысли?
как правильно преобразовать не получив предупреждение компилятора о потере данных на выходе?
например функция ChartGetInteger возвращает значение типа long, а использовать мне его нужно в функции с входным параметром int.
лучше изменить входной параметр функции int на long.
Компилятор же не знает, вдруг ваша переменная long будет больше INT_MAX (2147483647) или меньше INT_MIN (-2147483648)
ответ "это невозможно" меня не устраивает.
еще есть мысли?
Где там написано что "это невозможно" в Вашем случае? Вам дали ссылку, где не только много буковок, но есть и примеры как привести к нужному типу.
Где там написано что "это невозможно" в Вашем случае? Вам дали ссылку, где не только много буковок, но есть и примеры как привести к нужному типу.
Вы правы Сергей. До примеров не дочитал.
Вам тоже спасибо!
Вообще важно понимать, что:
uint a = 0; int i = 10; for (; i >= 10; ++ i) { ++ a; } Alert(a);
при компиляции с оптимизацией, gcc уходит в бесконечный цикл, clang выдаёт 4294967287, мкл выдаёт 2147483638. И самое интересное то, что каждый из них прав :)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
как правильно преобразовать не получив предупреждение компилятора о потере данных на выходе?
например функция ChartGetInteger возвращает значение типа long, а использовать мне его нужно в функции с входным параметром int.