30 lines · c
1 2 3 4template <class T>5class B {6public:7 template <class U>8 B(U p) { 9 }10 template <>11 B(int p) { // expected-warning{{explicit specialization of 'B<T>' within class scope is a Microsoft extension}}12 }13 14 template <class U>15 void f(U p) {16 T y = 9;17 }18 19 20 template <>21 void f(int p) { // expected-warning{{explicit specialization of 'f' within class scope is a Microsoft extension}}22 T a = 3;23 }24 25 void f(int p) { 26 T a = 3;27 }28};29 30