Teilen über


Compilerfehler C2977

"identifier" :Zu viele Typargumente

Bemerkungen

Eine generische oder Vorlagendeklaration verfügt über zu viele tatsächliche Argumente. Überprüfen Sie die generische oder Vorlagendeklaration, um die richtige Anzahl von Parametern zu ermitteln.

Examples

Im folgenden Beispiel wird C2977 generiert:

// C2977.cpp
// compile with: /c
template<class T, int i>
class MyClass {};

template MyClass< int , 1, 1 >;   // C2977
template MyClass< int , 1 >;   // OK

C2977 kann auch auftreten, wenn Generics verwendet werden:

// C2977b.cpp
// compile with: /clr
// C2977 expected
generic <class T, class U>
void f(){}

generic <class T>
ref struct GC1 {};

int main() {
   // Delete the following 2 lines to resolve.
   GC1<int, char> ^ pgc1;
   f<int,int,int>();

   // OK
   GC1<int> ^ pgc1;
   f<int, int>();
}