1 // PR c++54485 2 3 template<typename T> 4 class K1 5 { 6 int fn(int, int); 7 int gn(int, int); 8 }; 9 10 template<typename T> 11 int K1<T>::fn (int a, int b = 3) // { dg-error "default arguments" } 12 { 13 return a - b; 14 } 15 16 template<typename T> 17 int K1<T>::gn (int a = 1, int b = 3) // { dg-error "default arguments" } 18 { 19 return a - b; 20 } 21 22 template<typename T> 23 class K2 24 { 25 template<typename U> 26 int fn(int, int); 27 template<typename U> 28 int gn(int, int); 29 }; 30 31 template<typename T> 32 template<typename U> 33 int K2<T>::fn (int a, int b = 3) // { dg-error "default arguments" } 34 { 35 return a - b; 36 } 37 38 template<typename T> 39 template<typename U> 40 int K2<T>::gn (int a = 1, int b = 3) // { dg-error "default arguments" } 41 { 42 return a - b; 43 } 44