Compartir a través de


Error del compilador C2930

'class': el identificador de clase de tipo se volvió a definir como un enumerador de 'enum identifier'

No puede usar una clase genérica o de plantilla como una enumeración.

Este error puede producirse si las llaves no coinciden como es debido.

El ejemplo siguiente genera la advertencia C2930:

// C2930.cpp
// compile with: /c
template<class T>
class x{};
enum SomeEnum { x };   // C2930

class y{};
enum SomeEnum { y };

También se puede producir C2930 al utilizar genéricos:

// C2930c.cpp
// compile with: /clr /c
generic<class T>
ref struct GC {};
enum SomeEnum { GC };   // C2930

ref struct GC2 {};
enum SomeEnum2 { GC2 };