Condividi tramite


Errore del compilatore C2921

ridefinizione: 'class': modello di classe o generico in corso di nuova dichiarazione come 'type'

Un generico o un modello di classe dispone di più dichiarazioni che non sono equivalenti. Per correggere l'errore, usare un nome diverso per ogni tipo o rimuovere la ridefinizione del nome del tipo.

L'esempio seguente genera l'errore 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 può verificarsi anche quando si usano i generics.

// 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;