1 template<class T> 2 struct X0; 3 4 template<int I> 5 struct X1; 6 7 template<long I> 8 struct X2; 9 10 template<typename> 11 struct X3; 12 13 template<template<int I> class> 14 struct X4; 15 16 template<template<int I> class> 17 struct X5; 18 19 template<template<int I> class> 20 struct X6; 21 22 typedef int Integer; 23 extern X0<Integer> *x0i; 24 extern X0<float> *x0f; 25 extern X0<double> *x0r; 26 27 template<> 28 struct X0<char> { 29 int member; 30 }; 31 32 template<> 33 struct X0<wchar_t> { 34 float member; 35 }; 36