Особенности языка mql5, тонкости и приёмы работы - страница 320
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Компилятор не может определить (будущее) значение времени выполнения для расширения макроса mcr(num) во время компиляции.
В макросе mcr(z) используется оператор concat (##), поэтому он должен быть разрешен (расширен) только во время компиляции.
Понятно.
По-другому можно решить эту задачу? Возможно как-нибудь задавать имена переменных через условия?
Условие должно быть разрешено во время компиляции. Это можно сделать с помощью #ifdef и #ifndef.
Такой код тоже не компилируется.
o уже равно 5 и переменная x5 определена. Где ошибка?
Такой код также не будет компилироваться.
o уже равно 5 и переменная x5 определена. Где же ошибка?
Препроцессор ничего не знает о значении 'o' или любой другой переменной.
Чего вы на самом деле пытаетесь добиться?
Такой код тоже не компилируется.
o уже равно 5 и переменная x5 определена. Где ошибка?
Препроцессор ничего не знает о значении 'o' или любой другой переменной.
Чего вы на самом деле пытаетесь добиться?
Таким образом, вы можете использовать условия компиляции
Работает как надо. Спасибо.
Почему второй вариант в 20 раз медленнее?
1. вызов внешней DLL.
2. копирование из памяти.