Compiler Error C2991

redefinition of template parameter 'parameter'

There was a type conflict between two template definitions of parameter. You cannot use non-equivalent types when multiply defining a template parameter.