Compiler Error C2651
Visual Studio 2012
'data type' : left of 'operator' must be a class, struct or union
To use a template parameter as if it is a class, specialize the class template with a class instead of an integral type.