Мне хотелось иметь функцию с выражением свертки, которая объединяет string_views. Но код, который я пробовал, не сработал. Что я делаю не так?
#include
#include
using namespace std;
template
auto sv_concat( basic_string_view svs ... )
{
basic_string str;
str.reserve( (svs.length() + ...) );
((str += svs), ...);
return str;
}
Это ошибки clang++ 18:
test.cpp:14:31: error: pack expansion does not contain any unexpanded parameter packs
14 | str.reserve( (svs.length() + ...) );
| ~~~~~~~~~~~~ ^
test.cpp:15:17: error: pack expansion does not contain any unexpanded parameter packs
15 | ((str += svs), ...);
| ~~~~~~~~~~~~ ^
Подробнее здесь: https://stackoverflow.com/questions/785 ... ring-views