Erro do compilador C2921
redefinição: 'class' : modelo de classe ou genérico está sendo reenviado como 'type'
Uma classe genérica ou de modelo tem várias declarações que não são equivalentes. Para corrigir esse erro, use nomes diferentes para tipos diferentes ou remova a redefinição do nome do tipo.
A amostra a seguir gera o erro C2921:
// C2921.cpp
// compile with: /c
template <class T> struct TC2 {};
typedef int TC2; // C2921
// try the following line instead
// typedef struct TC2<int> x; // OK - declare a template instance
O erro C2921 também pode ocorrer ao usar genéricos.
// C2921b.cpp
// compile with: /clr /c
generic <class T> ref struct GC2 {};
typedef int GC2; // C2921
// try the following line instead
// typedef ref struct GC2<int> x;