Ошибка компилятора C2991
переопределение параметра типа "параметр"
Произошел конфликт типов между двумя определениями универсальных параметров или параметров шаблона parameter
. При определении нескольких универсальных параметров или параметров шаблона необходимо использовать эквивалентные типы.
Следующий пример приводит к возникновению ошибки 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 также может возникнуть при использовании универсальных шаблонов.
// 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 {};