a typedef template is illegal
Templates are not allowed in typedef definitions.
The following sample generates C2823:
template<class T> typedef struct x { T i; // can't use T, specify data type and delete template } x1; void main() { }