MSVC: va_start with std::string
От: пффф  
Дата: 20.07.23 22:33
Оценка: -1 :))) :)
Привет

Новые, чудные для меня открытия с опцией /Wall

template<>
std::string format_print<std::string>( const std::string fmt, ...)
{
    //...
    va_list args;
    va_start(args, fmt);
    //...
}


Выдает
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


Ну, если конструкторы и деструкторы не вызываются, то по идее, ничего страшного от побитового копирования не должно произойти. Ну и оно работает. Может, просто отключить этот варнинг?
Отредактировано 20.07.2023 22:52 пффф . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.