Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вполне работает. Даже интересно в чем проблема вашего кода.
Хотя конечно не вариант. Смысл лишний костыль делать, если и напрямую можно сделать Print и все.
Чисто ради интереса решил написать данный вариант сейчас.
Может так:
Вполне работает. Даже интересно в чем проблема вашего кода.
Не работает. Просто попробуйте назвать функцию f_Print, а потом уже из неё вызвать оригинальный Print.
Я просто не хочу переписывать оригинальную функцию, а просто хочу описать нужную мне функцию в моей библиотеке. Потом в своём советнике заменить Print на f_Print и всё. Чтобы при желании, я потом вернуть всё назад.
Может так:
Нет. Я хочу просто временно переименовать функцию Print в f_Print без добавления лишнего кода (вроде ToString). А потом, при необходимости, просто переименовать обратно.
Фактически, я хочу сделать обёртку над Print. В более современном C++ я бы просто использовал троеточие, а тут...
Вполне работает. Даже интересно в чем проблема вашего кода.
Можете переписать ваш шаблон так
И увидеть, что "Test:" не выведется. Вы просто описали одноимённую функцию Print, но вызываете оригинальную.
Можете переписать ваш шаблон так
И увидеть, что "Test:" не выведется. Вы просто описали одноимённую функцию Print, но вызываете оригинальную.
Такой вариант работает. Похоже с шаблонами не получается просто.
Вы либо издеваетесь, либо я на каком то другом языке разговариваю.
Допустим есть код
Я хочу просто, не меняя особо кода заменить его на
Выше подключается моя библиотека, в которой и реализована эта функция f_Print
А потом, я просто автозаменой меняю f_Print на Print, удаляю подключение своей библиотеки и получаю обычный код.
Да, задача специфичная. На современном c++ я бы это сделал просто, а вот здесь - проблема.
P.S. Аргументов может быть очень много, а может быть и 1. Должна получиться просто обёртка с аналогичным функционалом, без переписывания всего.
Фантазии это хорошо..Нет таких проблем какие мы не можем себе создать
---
А case где нужна/востребована "функция с переменным числом произвольных параметров" кто-нить представил ? примерное назначение и устройство этой функции ??
Единственный живой пример - вывод в журнал и тому подобное. Но для такого даже в C++ перегружают операторы << и считают за счастье (это при том что vararg там есть у них)
Можно и тут также сделать, вместо функции будет потоковый "комбайн" через << или редко используемый ~
программисту какая разница что писать Foo(a,b,c,d) или Foo()<<a<<b<<c<<d<<TheEnd() ??
второй вариант редко но удобнее - можно избежать временных переменных и пихать аргументы по мере готовности в несколько приёмов. И может быть расширен (ещё одной перегрузкой <<) без правки кода Foo()
и компилятору удобнее знать что типы конкретны.
Потребности в этой фиче про произвольные аргументы я не вижу..
В самой функции Print эту проблему ведь обошли, без "киньте пустое значение".
так она и не на mql написана.
В самописном придется писать 64 варианта функции похоже