Teilen über


Compilerfehler C2974

Ungültiges Typargument 'Zahl', Typ erwartet

Bemerkungen

Das generische Argument oder das Vorlagenargument stimmt nicht mit der generischen oder Vorlagendeklaration überein. Ein Typ sollte in den winkeln Klammern angezeigt werden. Überprüfen Sie die generische Oder Vorlagendefinition, um die richtigen Typen zu finden.

Examples

Im folgenden Beispiel wird C2974 generiert:

// C2974.cpp
// C2974 expected
template <class T>
struct TC {};

template <typename T>
void tf(T){}

int main() {
   // Delete the following 2 lines to resolve
   TC<1>* tc;
   tf<"abc">("abc");

   TC<int>* tc;
   tf<const char *>("abc");
}

C2974 kann auch bei Verwendung von Generika auftreten:

// C2974b.cpp
// compile with: /clr
// C2974 expected
using namespace System;
generic <class T>
ref struct GCtype {};

generic <typename T>
void gf(T){}

int main() {
   // Delete the following 2 lines to resolve
   GCtype<"a">^ gc;
   gf<"a">("abc");

   // OK
   GCtype<int>^ gc;
   gf<String ^>("abc");
}