Функции с неопределенным количеством аргументов - страница 3

 
Vitalii Ananev, спасибо за помощь.
 

Года 3 назад читал вот эту маленькую статью на хабре - https://habrahabr.ru/post/131977/
Похоже вам что-то похожее надо.

std::stringstream и форматирование строк
std::stringstream и форматирование строк
  • habrahabr.ru
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста. Пометьте топик понятными вам метками, если хотите или закрыть
 
pivomoe:

Если честно то нет. На mql5 вроде нет его описания.

Вы ранее писали

log<<StringFormat("formatted message %d %d",10,11)<<0.55<<ChartID()<<log.flush


Я так и не понял что такое log в вашем примере. Это переменная какого то класса, в котором перегружен оператор << ?

ну как-то так вот примерно,
написано "с руки" и не проверято но думаю всем мысль ясна

class Log {

public:

  class TheEnd {

     public int fake;

  }

  static TheEnd the_end;

public:

  Log();

  ~Log();

  Log *operator<<(const string &);  // можно строки направлять в лог
  Log *operator<<(double);             // и double

  Log *opеrator<<(const Log::TheEnd &); // получив сиё, выпихиваем всё прежнее в файл
  Log *opеrator<<(Log::TheEnd *); // и так тоже
};

Log *mylog=new Log (....);
mylog<<"Hello word"<<mylog.the_end;

 
fxsaber:
Какой бы сложности не делал распечатки через Print, всегда использовал один аргумент.
Решается через оператор +.
 
diabolo:

Господа разработчики, здравстуйте!

Подскажите пожалуйста, неужели нельзя реализовывать свои функции вида Func(int lala, ...) с неопределенным количеством аргументов. Так же как работают встроенные Print/FileWrite?

Очень этого не хватает, но в документации ничего подобного нет.

Видимо не я один такие вопросы задаю. Единственный путь решить вашу проблему это передача массива в функцию и обработка этого массива, передавать разное количество нельзя.

 
Разработчики как всегда отмалчиваются) Уже не мне одному надо)
Причина обращения: