redefinition of template parameter 'parameter'
There was a type conflict between two template definitions of parameter. When multiply defining a template parameter, you must use equivalent types.