1// { dg-do assemble } 2// { dg-options "-std=gnu++98" } 3 4template <class T> 5struct C { 6 template <class U> 7 void f(U); // OK 8 9 template <class V = int> 10 struct I {}; // OK 11 12 template <class W = int> 13 void h(W); // { dg-error "" } default argument 14 15 template <class Y> 16 void k(Y); 17}; 18 19template <class T> 20template <class U = double> 21void C<T>::f(U) {} // { dg-error "" } default argument 22 23template <class X = void*> 24void g(X); // { dg-error "" } default argument 25 26template <class T = double> 27template <class Y> 28void C<T>::k(Y) {} // { dg-error "" } default argument 29