Compiler Error C2991
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C2991.
redefinition of type parameter 'parameter'
There was a type conflict between two generic or template definitions of parameter. When defining multiple generic or template parameters, you must use equivalent types.
The following sample generates C2991:
// C2991.cpp
// compile with: /c
template<class T, class T> struct TC {}; // C2991
// try the following line instead
// template<class T, class T2> struct TC {};
C2991 can also occur when using generics:
// C2991b.cpp
// compile with: /clr /c
generic<class T,class T> ref struct GC {}; // C2991
// try the following line instead
// generic<class T,class T2> ref struct GC {};
Show: