Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Экспет:
Дак, у вас же библиотека. Конечно, будет разные переменные. Имеется ввиду подключение mqh через include.
в С++ экстерны как раз и описываются в подключаемых библиотеках, иначе компилятор не даст скомпилировать проект
Экспет:
и смысл в этом? инклудник при компиляции в тело программы будет вставлен, хотите там инпут опишите - то же самое будет
как вариант опишите с модификатором экстерн класс или структуру ;)
в С++ экстерны как раз и описываются в подключаемых библиотеках, иначе компилятор не даст скомпилировать проект
Там наверно принято библиотеками называть файлы подключаемые через "#include"
...
и смысл в этом? инклудник при компиляции в тело программы будет вставлен, хотите там инпут опишите - то же самое будет
Смысл в том, чтобы над подключаемым файлом можно было работать независимо от всего проекта, компилировать его отдельно и тем самым проверять ошибки.
Смысл в том, чтобы над подключаемым файлом можно было работать независимо от всего проекта, компилировать его отдельно и тем самым проверять ошибки.
по моему мы ищем смысл где он просто отсутствует
имхо, extern оставили для совместимости тысяч кодов написанных ранее, а справку писал человек который часть информации скопировал из Вики
по моему мы ищем смысл где он просто отсутствует
имхо, extern оставили для совместимости тысяч кодов написанных ранее, а справку писал человек который часть информации скопировал из Вики
Так каков вердикт Господа?) Если я пишу .mq5 программу с .mqh (#include), я могу смело прописывать extern и не бояться неожиданных последствий (как я это делал в mql4) или все же использовать input ?
Смотря для каких целей. У них назначения р а з н ы е.
Так каков вердикт Господа?) Если я пишу .mq5 программу с .mqh (#include), я могу смело прописывать extern и не бояться неожиданных последствий (как я это делал в mql4) или все же использовать input ?
используйте стандартные конструкции MQL программ: в начале кода все input , затем все include - так написаны и примеры от разработчиков, так написаны и 99% кодов в кодобазе и не будет никаких сюрпризов
про extern еще раз повторю - их можно изменять в ходе выполнения программы, но по моему это плохая практика, обычно все внешние переменные в OnInit() копируются в свои переменные и потом с ними работают (как пример эксперты которые работают под 4-х знак и 5-ти знак - примеров этой конструкции в сети вагон)
ну и итого - не используйте extern, если модифицируете старый код, то замените на input и компилятор Вам поможет предупреждениями если была запись в extern - это нужно исправить
кстати я тут обнаружил что компилятору пофиг что я могу объявить повторно содержание enum перечисления как переменную
кстати я тут обнаружил что компилятору пофиг что я могу объявить повторно содержание enum перечисления как переменную
а если переменную типа enum обьявить?
implicit enum conversion tst1.mq5 24 17
можно еще EnumToString() проверить...
думаю что тип без объявленных переменных просто был выброшен из компиляции как не используемый