Partilhar via


Erro do compilador C2921

redefinição : 'classe' : modelo de classe ou genérico está sendo redeclarado como 'tipo'

Observações

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.

Examples

O exemplo a seguir gera 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

C2921 também pode ocorrer quando se usa 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;