http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47226
Summary: GCC doesn't expand template parameter pack that appears in a lambda-expression Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: schaub.johan...@googlemail.com GCC doesn't like this: void slurp(...) { } template<int ...N> void print() { slurp([]() -> int { (void) N; // or something fancy... return 0; }() ...); } void f() { print<1, 2>(); } Error: error: parameter packs not expanded with '...': I think the draft (n3225) says this should expand "N" and result in: slurp( []() -> int { (void) 1; // or something fancy... return 0; }(), []() -> int { (void) 2; // or something fancy... return 0; }());