Compiler Error C2959

'identifier' : an 'enum' may not be declared as a template

The specified identifier was declared as an enum type preceded by the template keyword. Only the class, struct, and union specifiers can be used when declaring a templated class. The following code will generate this error:

template <class T> enum E{};  //error