Compartilhar via


Erro do compilador C2936

'class': type-class-id redefinido como uma variável de dados local

Você não pode usar uma classe genérica ou de modelo como uma variável de dados global.

Esse erro ficou obsoleto no Visual Studio 2022 e em versões posteriores.

Esse erro pode ser causado se as chaves forem correspondidas incorretamente.

O seguinte exemplo gera o erro C2936:

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

// OK
struct TC2 { };
int TC2;

O erro C2936 também pode ocorrer ao 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;