Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
«classe» : tipo não classe já declarado como tipo de classe
Observações
A classe não genérica ou modelo redefine uma classe genérica ou modelo. Verifique se há conflitos nos arquivos de cabeçalho.
Examples
O exemplo a seguir gera C2990:
// C2990.cpp
// compile with: /c
template <class T>
class C{};
class C{}; // C2990
C2990 também pode ocorrer quando se utilizam genéricos:
// C2990b.cpp
// compile with: /clr /c
generic <class T>
ref struct GC;
ref struct GC {}; // C2990
C2990 também pode ocorrer devido a uma modificação disruptiva no compilador Microsoft C++ para Visual Studio 2005; o compilador agora requer que várias declarações para o mesmo tipo sejam idênticas em relação à especificação do template.
O exemplo a seguir gera C2990:
// C2990c.cpp
// compile with: /c
template<class T>
class A;
template<class T>
struct A2 {
friend class A; // C2990
};
// OK
template<class T>
struct B {
template<class T>
friend class A;
};