1 // PR c++/70468 2 // { dg-do compile { target c++11 } } 3 // { dg-additional-options -w } 4 5 struct S {}; 6 7 template < typename = S > 8 class A 9 { 10 public: A()11 A () : f0 (), f1 () {} // { dg-error "" } 12 13 private: 14 typedef A<> f0; 15 int f1; 16 }; 17 18 template < typename = S, typename = S > 19 class B 20 { 21 }; 22 23 template < typename T1, typename T2 > 24 B < T1, T2 > &operator<< (B < T1, T2 >&, const int) 25 { 26 A<> (); 27 } 28 29 template 30 B < S, S > &operator<< (B < S, S >&, const int); 31