This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110c. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-02-07


1182. Incorrect description of pack expansion syntax

Section: 13.7.4  [temp.variadic]     Status: C++11     Submitter: Daveed Vandevoorde     Date: 2010-08-26

[Voted into the WP at the March, 2011 meeting as part of paper N3270.]

According to 13.7.4 [temp.variadic] paragraph 4,

A pack expansion is a sequence of tokens that names one or more parameter packs, followed by an ellipsis.

This is contradicted by 7.6.2.5 [expr.sizeof] paragraph 5, which describes sizeof...(Types) as an expansion, as well as the case where the expansion appears in a declarator like the example given in 9.3.4.6 [dcl.fct] paragraph 13:

    template<typename... T> void f(T (* ...t)(int, int));

This is also described as a pack expansion, although it does not fit the syntactic summary.

Proposed resolution (November, 2010):

This issue is resolved by the resolution of issue 778.