Partilhar via


Erro do compilador C2989

«classe» : o tipo de classe já foi declarado como um tipo não classe

Observações

A classe genérica ou modelo redefine uma classe não-modelo ou não-genérica. Verifique se há conflitos nos arquivos de cabeçalho.

Examples

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 quando se utilizam 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;