C++17 Пользовательские литералы странное поведение для последовательности строкC++

Программы на C++. Форум разработчиков
Anonymous
 C++17 Пользовательские литералы странное поведение для последовательности строк

Сообщение Anonymous »

Я потратил некоторое время на диагностику ошибки, из-за которой я потерял запятую между двумя строками, созданными с помощью std::string_literals.
РЕДАКТИРОВАТЬПоскольку многие комментаторы обращаются к действительно ясному случаю компилятора, такого как «один», «два», который представляет собой одну строку, мне нужно подчеркнуть использование для этой цели пользовательского литерала, я добавил 2 дополнительных оператора : _kylobyte и my_ns::s (я знаю, что не использовать '_' - плохо).
EDIT 2Хорошо, @user17732522 доказывает фундаментальное поведение лекса. Итак, я предлагаю еще один пользовательский строковый литерал . Поведение компилятора заключается в том, что он собирает схожие определенные пользователем, но работает должным образом, когда используются два разных. Поэтому следует учитывать не только lex.
Минимальный воспроизводимый код следующий:

Код: Выделить всё

#include 

template 
void consume_all(Tx&&  ...tx)
{
((std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79010227/c17-user-defined-literals-strange-behavior-for-sequence-of-strings[/url]

Вернуться в «C++»