warning C4840: non-portable use of class std::basic_string<...> as an argument to a variadic function
message: std::basic_string<...> is non-trivial
Ну, я знаю, что нон-тривиал. И что мне теперь делать?
UPD Там есть еще дополнение
message: the constuctor and destructor will not be called; a bitwise copy of the class will be passed as the argument
Ну, если конструкторы и деструкторы не вызываются, то по идее, ничего страшного от побитового копирования не должно произойти. Ну и оно работает. Может, просто отключить этот варнинг?
Здравствуйте, kov_serg, Вы писали:
П>>Пробовал. Выдает ошибку, что ссылка не может быть использована с va_start или как-то так _>точно этож c++. тогда так _>
Здравствуйте, kov_serg, Вы писали:
П>>Выглядит, как дерьмо _>На вкус и цвет фломастеры разные. Есть же vardic templates
На них можно сделать малой кровью так, чтобы было совместимо по формату с printf? У меня идея была такая, сделать свой printf на базе sprintf, который принимал бы std::basic_string<>.
Да и это ещё из старого кода растет, даже до 11ых, не уверен, что всё гладко пойдёт при переезде
Здравствуйте, пффф, Вы писали:
П>На них можно сделать малой кровью так, чтобы было совместимо по формату с printf? У меня идея была такая, сделать свой printf на базе sprintf, который принимал бы std::basic_string<>.
А нафига? П>Да и это ещё из старого кода растет, даже до 11ых, не уверен, что всё гладко пойдёт при переезде
Здравствуйте, пффф, Вы писали:
П>На них можно сделать малой кровью так, чтобы было совместимо по формату с printf?
Конечно! Более того, как только они появились я на них свой аналог printf переписал, который и работает быстрее и завалить его неправильным аргументом (например передать double в %s) невозможно в принципе. До вариадиков приходилось опуститься до переопределения оператора запятая, вариадики же позволили сделать код в разы лучше и чище.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
П>>На них можно сделать малой кровью так, чтобы было совместимо по формату с printf? CC>Конечно! Более того, как только они появились я на них свой аналог printf переписал, который и работает быстрее и завалить его неправильным аргументом (например передать double в %s) невозможно в принципе. До вариадиков приходилось опуститься до переопределения оператора запятая, вариадики же позволили сделать код в разы лучше и чище.
Ну похвастайся скорее, как выглядит твоя реализация на вариадиках, чтобы я мог её стырить
Здравствуйте, пффф, Вы писали:
П>Ну похвастайся скорее, как выглядит твоя реализация на вариадиках, чтобы я мог её стырить
У меня есть простой вариант: https://github.com/art-den/micro_format для микроконтроллеров без constecxpr-магии. Но там синтаксис аргументов как у std::format, а не printf
П>>Ну похвастайся скорее, как выглядит твоя реализация на вариадиках, чтобы я мог её стырить
AD>У меня есть простой вариант: https://github.com/art-den/micro_format для микроконтроллеров без constecxpr-магии. Но там синтаксис аргументов как у std::format, а не printf
Спасибо, посмотрю. Но сейчас мне нужна ещё и совместимость с кучей моего уже имеющегося кода