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