http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53506
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-05-28 09:31:33 UTC --- 4.6 only rejects the first one: t.cc: In function 'int main()': t.cc:17:18: error: no matching function for call to 'A<int>::a(int (&)(int, int), int)' t.cc:17:18: note: candidate is: t.cc:5:3: note: template<class RES, class ... FARGS> static void A::a(RES (*)(FARGS ..., SARGS ...), FARGS ...) [with RES = RES, FARGS = {FARGS ...}, SARGS = {int}]