Delen via


Compilerfout C2974

ongeldig typeargument 'getal', type verwacht

Opmerkingen

Het algemene argument of sjabloonargument komt niet overeen met de algemene of sjabloondeclaratie. Er moet een type staan tussen de hoekige haken. Controleer de algemene of sjabloondefinitie om de juiste typen te vinden.

Voorbeelden

In het volgende voorbeeld wordt C2974 gegenereerd:

// 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 ook optreden bij het gebruik van generics:

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