Erro do compilador C2939
'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 local.
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 exemplo a seguir gera o erro C2939:
// C2939.cpp
template<class T>
struct TC { };
int main() {
int TC<int>; // C2939
int TC; // OK
}
C2939 também pode ocorrer ao usar genéricos:
// C2939b.cpp
// compile with: /clr
generic<class T>
ref struct GC { };
int main() {
int GC<int>; // C2939
int GC; // OK
}