Compartir a través de


Error del compilador C2936

"class": se ha redefinido type-class-id como una variable de datos global

No se puede usar una clase genérica o de plantilla como variable de datos local.

Este error está obsoleto en Visual Studio 2022 y versiones posteriores.

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

El ejemplo siguiente genera la advertencia C2936:

// C2936.cpp
// compile with: /c
template<class T> struct TC { };
int TC<int>;   // C2936

// OK
struct TC2 { };
int TC2;

También se puede producir el error C2936 al usar genéricos:

// C2936b.cpp
// compile with: /clr /c
generic<class T>
ref struct GC {};
int GC<int>;   // C2936

// OK
ref struct GC2 {};
int GC2;