Teilen über


Compilerfehler C2903

'Bezeichner': Symbol ist weder eine Klassenvorlage noch eine Funktionsvorlage.

Bemerkungen

Der Code versucht die explizite Instanziierung eines Elements, bei dem es sich nicht um eine Vorlage handelt.

Examples

Im folgenden Beispiel wird C2903 generiert:

// C2903.cpp
// compile with: /c
namespace N {
   template<class T> class X {};
   class Y {};
}
void g() {
   N::template Y y;   // C2903
   N::X<N::Y> y;   // OK
}

C2903 kann auch auftreten, wenn Generics verwendet werden:

// C2903b.cpp
// compile with: /clr /c
namespace N {
   class Y {};
   generic<class T> ref class Z {};
}

void f() {
   N::generic Y y;   // C2903
   N:: generic Z<int>^ z;   // OK
}