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