Kompilatorfel C2974

Ogiltigt typargument 'number', typ förväntad

Anmärkningar

Det generiska eller mallargumentet matchar inte den generiska eller malldeklarationen. En typ ska visas inom vinkelparenteserna. Kontrollera den allmänna definitionen eller malldefinitionen för att hitta rätt typer.

Examples

I följande exempel genereras C2974:

// 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 kan också inträffa när du använder generiska läkemedel:

// 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");
}