Разрешает ли пакет структурированной привязки пустой пакет из объекта нулевого размера кортежа?C++

Программы на C++. Форум разработчиков
Anonymous
Разрешает ли пакет структурированной привязки пустой пакет из объекта нулевого размера кортежа?

Сообщение Anonymous »

Структурированные привязки не допускают пустых разлагаемых типов.

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

auto [] = std::make_tuple(); // error
С тех пор, как P1061R10 был принят для C++26, это позволяет структурированным привязкам вводить пакеты (при условии, что пакет объявлен в контексте шаблона):

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

auto [...args] = return_empty_tuple();
auto [one, ...rest] = return_single_tuple();
Последний позволяет ...rest быть пустым пакетом, если return_single_tuple() имеет размер структурированной привязки, равный 1.
Мой вопрос: может ли ...args быть объявлен как пустой пакет, даже если return_empty_tuple() имеет нулевой размер структурированной привязки (например, нулевой размер кортежа)?>

Подробнее здесь: https://stackoverflow.com/questions/792 ... zed-object

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