Erro do Compilador C2989
'class' : o tipo de classe já foi declarado como um tipo que não é de classe
A classe modelo ou genérica redefine uma classe não modelo ou não genérica. Verifique os arquivos de cabeçalho em busca de conflitos.
O exemplo a seguir gera C2989:
// C2989.cpp
// compile with: /c
class C{};
template <class T>
class C{}; // C2989
class C2{};
C2989 também pode ocorrer ao usar genéricos:
// C2989b.cpp
// compile with: /clr /c
ref class GC1;
generic <typename T> ref class GC1; // C2989
template <typename T> ref class GC2;
generic <typename T> ref class GC2; // C2989
generic <typename T> ref class GCb;
template <typename T> ref class GC2;
generic <typename T> ref class GCc;