https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81678
Bug ID: 81678 Summary: Variadic template parameters containing pointer to member function fail to be parsed unless name of the parameter is specified Product: gcc Version: 7.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: Predelnik at gmail dot com Target Milestone: --- The following example is not compiling: template <typename... T> void f (void (T::*...)()) { } struct C { void f (){} }; int main () { f (&C::f); } Replacing void f (void (T::*...)()) with void f (void (T::*...a)()) makes it compile. Think it should compile in both cases.