This section describes unsupported template features.
template <class T> class C {}; template <> class C<double> {}; ---------^-------------------- ERROR
struct S { template <class T1, class T2> void f(T1, T2) {} }; - template <class T> struct S<...> -template <int i>
template<> int f() - S03< ::T03[3]> s03; --------------^------------------Doesn't know global scope :: template <int i, class P> struct S {} S<0xa301, int(*)[4][3]> s0; -------------------------^--------Wrong type of template argument
template <int i > struct A{ A<i>() {} -----------------^----------------ERROR implicit instantiation } - void g00(void) {} void g00(U) {} int g00(char) { return 0; } ------^-------------------------ERROR: Function differ in return type
template <template <class P> class X, class T> struct A{}
template <class T> static int f(T t) {return 1} ----------------^--ERROR : Illegal storage class