Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ну а все же интересно что вы скажете если вдруг будет решено убрать в редакторе излишние и надоедливые предупреждения.
Похоже, обнаружился глюк компилятора. Начал писать класс по хранению ордеров и нате.. Если вставляю enum OrderType перед вызовом AddOrder, все ок. Если вставляю после, как сейчас в коде, компилятор этот enum не видит и ругается
'OrderType' - declaration without type OrderManager.mqh 24 18
'ordType' - comma expected OrderManager.mqh 24 28
Похоже, обнаружился глюк компилятора. Начал писать класс по хранению ордеров и нате.. Если вставляю enum OrderType перед вызовом AddOrder, все ок. Если вставляю после, как сейчас в коде, компилятор этот enum не видит и ругается
'OrderType' - declaration without type OrderManager.mqh 24 18
'ordType' - comma expected OrderManager.mqh 24 28
А ничего, что имя OrderType зарезервировано под одноименную торговую функцию?
ну а все же интересно что вы скажете если вдруг будет решено убрать в редакторе излишние и надоедливые предупреждения.
Я понимаю, вопрос не ко мне, но я буду за. С другой стороны, разработчики уже внедрили по полной этот сервис предупреждений. Зачем убирать, если это уже есть и работает? Но ДОБАВЬТЕ возможность отключать. Для кого вообще эта чать МТ сделана? Или новички будут учиться по варнингам программы писать? Не самое хорошее занятие. Традиционно лучше с мат.части начинать. А традиционно человек, который открыл первые фигурные скобки навсегда узнает о "зоне видимости". Но в последнее время я заметил другую штуку. Сначала такое количество варнигов раздражало, а теперь глаз потихоньку перестает их замечать. Видимо, защитная реакция организма. А вот это уже плохо. Потому что среди бестолковых варнингов есть толковые, например, я где-то чисто забыл привести типы. И ещё мне не понятна необходимость англоязычности сообщений. Странно получается, англоязычные пацаны сделали Студию, но там все сообщения компилятора по-русски. А русскоязычные сделали - по аглицки.
Обновился на 605 билд. Скрипт начал завершаться с "out of range" на один из массивов. Правда, это массив структур, но всё равно ничего криминального в нем нет. Размерность массива 10 тысяч, максимум в него пишется несколько сотен значений. В 600 работало, в 604 работало, в 605 в режиме отладки работает. А при обычном запуске скрипта "out of range". А после нескольких запусков вообще вывалилось: 2014.02.13 07:36:21.407 Access violation read to 0xCF8A03AF in 'E:\Program Files\MT4 Beta\MQL4\Scripts\s_StrategyTester.ex4'
Щас вернул взад 604, всё работает.
Вынь7х64.
А ничего, что имя OrderType зарезервировано под одноименную торговую функцию?
Похоже, обнаружился глюк компилятора. Начал писать класс по хранению ордеров и нате.. Если вставляю enum OrderType перед вызовом AddOrder, все ок. Если вставляю после, как сейчас в коде, компилятор этот enum не видит и ругается
Типы компилятор распознаёт последовательно по ходу трансляции.
Т.е. чтобы использовать тип для объявления переменной, необходимо, чтобы описание типа было выше в тексте программы.
Это касается не только enum'ов, но также объявлений классов и структур. Такова особенность языка. Просто запомните и учитывайте при разработке.
Успехов.
А ничего, что имя OrderType зарезервировано под одноименную торговую функцию?
это ничего. в том смысле, что синтаксис позволяет. тип локальный, описан внутри класса, перекрытие глобального имени допустимо.
т.е. ситуация как с глобальными/локальными переменными.
Аналогично (для примера) я могу объявить локальную переменную с именем, совпадающим с именем библиотечной функции. Это будет скомпилировано и будет работать:
Я понимаю, вопрос не ко мне, но я буду за. С другой стороны, разработчики уже внедрили по полной этот сервис предупреждений. Зачем убирать, если это уже есть и работает? Но ДОБАВЬТЕ возможность отключать. Для кого вообще эта чать МТ сделана? Или новички будут учиться по варнингам программы писать? Не самое хорошее занятие. Традиционно лучше с мат.части начинать. А традиционно человек, который открыл первые фигурные скобки навсегда узнает о "зоне видимости". Но в последнее время я заметил другую штуку. Сначала такое количество варнигов раздражало, а теперь глаз потихоньку перестает их замечать. Видимо, защитная реакция организма. А вот это уже плохо. Потому что среди бестолковых варнингов есть толковые, например, я где-то чисто забыл привести типы. И ещё мне не понятна необходимость англоязычности сообщений. Странно получается, англоязычные пацаны сделали Студию, но там все сообщения компилятора по-русски. А русскоязычные сделали - по аглицки.
это ничего. в том смысле, что синтаксис позволяет. тип локальный, описан внутри класса, перекрытие глобального имени допустимо.
т.е. ситуация как с глобальными/локальными переменными.
В принципе, в С++ это так, но на MQL документированного стандарта нет, так что можно только гадать. Лучше конечно не перекрывать системные функции. И вопрос - почему от перестановки строки с объявлением этого enum возникает/пропадает ошибка компилятора?
Ведь глюк по любому?