Ошибки, баги, вопросы - страница 1965
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
A100:
Вообще конечно данный способ не соответствует C++, но в MQL работает.
У меня была аналогичная проблема с выносом метода за пределы класса:
Но благодаря вам теперь тоже решение найдено:
хотя это тоже неправильно конечно, т.к. означает определение шаблонного метода, а не метода шаблонного класса. И если в классе присутствует и то, и другое, то возникнет неоднозначностьУ меня была аналогичная проблема с выносом метода за пределы класса:
Так намного удобнее. Единственное ограничение - нельзя чтобы между вклинивался другой класс (как в примере)
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
A100, 2016.05.19 23:26
Ошибка компиляции
т.к. означает определение шаблонного метода, а не метода шаблонного класса. И если в классе присутствует и то, и другое, то возникнет неоднозначность
Не возникнет - все продумано до нас (с). Нужно повторить строку template дважды (верхняя будет относится к классу - нижняя к методу)
Блин это ж пипец как запутанно выглядит.
A100:
Так намного удобнее.
Ну да, отсутствие необходимости ставить <T> - это прям такое серьёзное удобство )
Ну да, отсутствие необходимости ставить <T> - это прям такое серьёзное удобство )
У меня была аналогичная проблема с выносом метода за пределы класса:
неправильно конечно, т.к. означает определение шаблонного метода, а не метода шаблонного класса. И если в классе присутствует и то, и другое, то возникнет неоднозначность
Заметил, что часто методывыносят за пределы класса, а зачем? Посмотрел СБ, так там "мелкие" методы сразу в одну строку определены, "длинные" - за пределами. Удобства восприятия нет, т.к. ALT+G при внешнем определении предлагает не один, а два места перехода. А если есть перегрузки, то, соответственно, кратное двум. А по ALT+M итак все сразу видно.
Возможно, это какая-то дань наглядности задания интерфейса, но пока не проникся.
Я имел ввиду, что удобна сама возможность выносить метод за пределы класса
Ну да, вот так мучаешься-мучаешься, а потом выясняется что надо было знать определённые секреты )
Может у них и специализация шаблонных классов тоже есть? какими-то хитроумными способами. А то чё-то я давно в сервис-деске прошу об этом, а они молчат. Наверно тоже есть секреты. Колитесь )
Может у них и специализация шаблонных классов тоже есть?
Так давно как!
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.08.16 13:19
Или что-то другое имеется в виду?
ЗЫ Нашел.
Так давно как!
Или что-то другое имеется в виду?
ЗЫ Нашел.
Не, я говорил про шаблоны классов, а не функций.
К слову, специализация шаблонов функций на самом деле ещё не реализована. То что по вашей ссылке они почему-то назвали "специализацией" на самом деле совсем другое. А сейчас есть возможность только перегрузки с конкретными типами. По сути это почти то же самое, что и специализация, с той лишь разницей, что отсутствует контроль компилятора за идентичностью сигнатуры всех перегруженных функций. А это бывает необходимо, когда функции расположены в разных местах кода.
Так намного удобнее.