'identifier' : template parameter can never be initialized
There was an attempt to declare a structure or union argument to a template. The structure or union cannot be initialized. Use pointers to pass structures and unions as template parameters. The following code generates this error:
struct MyStruct {
int a;char b;
};
template <class T, struct MyStruct S> {}; // error