1 // Build don't link: 2 3 struct S1 4 { 5 ~S1(int); // ERROR - destructors may not have parameters 6 }; 7 8 9 template <class T> 10 struct S2 11 { 12 ~S2(int); // ERROR - destructors may not have parameters 13 }; 14 15 16 struct S3 17 { ~S3S318 ~S3(double) {} // ERROR - destructors may not have parameters 19 }; 20 21 22 template <class T> 23 struct S4 24 { ~S4S425 ~S4(double) {} // ERROR - destructors may not have parameters 26 }; 27 28 29 struct S5 30 { 31 ~S5(); 32 }; 33 ~S5(float)34S5::~S5(float) 35 { // ERROR - destructors may not have parameters 36 } 37 38 39 template <class T> 40 struct S6 41 { 42 ~S6(); 43 }; 44 45 template <class T> ~S6(float)46S6<T>::~S6(float) 47 { // ERROR - destructors may not have parameters 48 } 49 50 51 52