The following well-formed example produces the incorrect error:

  error: cannot expand ‘G ...’ into a fixed-length argument list

template<typename G = void, typename H = void>
struct foo
{};

template<typename... G>
struct bar : foo<G...>
{};

int main() {
  bar<int, float> f;
}


-- 
           Summary: [C++0x] Variadic templates expansion into non-variadic
                    class template
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dgregor at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35722

Reply via email to