4 struct S1; // ERROR - previous declaration
6 template <class T, class U>
7 struct S1 {}; // ERROR - used 1 template parameter
9 template <class T = int> // ERROR - original def of default
12 template <class T = int>
13 struct S2; // ERROR - redefinition of default
15 template <class T> // ERROR - template parameter
19 struct S3; // ERROR - redeclared here
21 template <template <class T> class C>
22 struct S3; // ERROR - redeclared here