1 // PR c++/47974 2 3 typedef double T; 4 5 struct A 6 { 7 template<T> void foo(); // { dg-error "type" } 8 }; 9 10 template<T N = 0, void (A::*)() = &A::foo<N> > struct B {}; // { dg-error "type|declared" } 11 12 B<> b; // { dg-message "non-type" } 13 14 // { dg-prune-output "(could not convert|no matches)" } 15