#define должен находиться в начале программы ( вероятно про *.mq4), однако если #define опрелелить в середине файла *.mqh, между функциями, то при компиляции ошибка не выдается.
Вопрос: разрешено ли такое использование #define в середине файла *.mqh? разрешено ли объявление массивов и переменных в середине файла *.mqh?
Почему возник этот вопрос. Все дефайны, массивы и переменные я объявляю в начале файла *.mqh. Со временем количество функций увеличивается, а также увеличивается расстояние в самом файле между "объявляемыми данными" и самой функцией для обработки этих данных. Если "разрешено", то будет удобно подтянуть "объявляемые данные" по-ближе к самой функции.
#define должен находиться в начале программы ( вероятно про *.mq4), однако если #define опрелелить в середине файла *.mqh, между функциями, то при компиляции ошибка не выдается.
Вопрос: разрешено ли такое использование #define в середине файла *.mqh? разрешено ли объявление массивов и переменных в середине файла *.mqh?
Почему возник этот вопрос. Все дефайны, массивы и переменные я объявляю в начале файла *.mqh. Со временем количество функций увеличивается, а также увеличивается расстояние в самом файле между "объявляемыми данными" и самой функцией для обработки этих данных. Если "разрешено", то будет удобно подтянуть "объявляемые данные" по-ближе к самой функции.
А чего тут документировать? Дефайн ставится обычно в начале программы для того, чтобы константу могли использовать все без исключения выражения - именно это подразумевается в справке. Запрета на дефайн в любом другом месте программы нет (да и какой в нем смысл?), просто видна эта константа будет только после определения, так как define обрабатывается препроцессором, это не элемент логики программы, а просто директива, указывающая, что вместо такого-то выражения в исходный текст программы надо подставить такое-то.
можно было бы и задокументировать этот момент, такая возможность сразу не бросается в глаза, структура *.mqh файла улучшается при использовании такого подхода, не приходится бегать от одного куска кода( в конце файла) к другому(в начале файла), все рядом и все компактно. это я говорю не только о дефайн, но и об объявлении массивов и переменных.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
согласно https://docs.mql4.com/ru/basis/preprosessor/constant
#define должен находиться в начале программы ( вероятно про *.mq4), однако если #define опрелелить в середине файла *.mqh, между функциями, то при компиляции ошибка не выдается.
Вопрос: разрешено ли такое использование #define в середине файла *.mqh? разрешено ли объявление массивов и переменных в середине файла *.mqh?
Почему возник этот вопрос. Все дефайны, массивы и переменные я объявляю в начале файла *.mqh. Со временем количество функций увеличивается, а также увеличивается расстояние в самом файле между "объявляемыми данными" и самой функцией для обработки этих данных. Если "разрешено", то будет удобно подтянуть "объявляемые данные" по-ближе к самой функции.
согласно https://docs.mql4.com/ru/basis/preprosessor/constant
#define должен находиться в начале программы ( вероятно про *.mq4), однако если #define опрелелить в середине файла *.mqh, между функциями, то при компиляции ошибка не выдается.
Вопрос: разрешено ли такое использование #define в середине файла *.mqh? разрешено ли объявление массивов и переменных в середине файла *.mqh?
Почему возник этот вопрос. Все дефайны, массивы и переменные я объявляю в начале файла *.mqh. Со временем количество функций увеличивается, а также увеличивается расстояние в самом файле между "объявляемыми данными" и самой функцией для обработки этих данных. Если "разрешено", то будет удобно подтянуть "объявляемые данные" по-ближе к самой функции.
можно, пробовал не раз.
можно, пробовал не раз.
тоже начал пользовать, но хотелось бы услышать "документированное" мнение по этому вопросу. работать - работает, но как это объясняется?
А чего тут документировать?