------- Comment #2 from bangerth at dealii dot org 2006-11-14 03:45 ------- I believe the code is in fact invalid, based on 14.3.2/1 and this wording in 14.3.2/5:
-- For a non-type template-parameter of type pointer to member function, no conversions apply. The latter reference means that there is also no way to simply say template <void (C::*pmf)(int) = 0 > struct S { }; because the argument is not converted. W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29704