Sdílet prostřednictvím


Chyba kompilátoru C2977

Identifikátor: příliš mnoho argumentů typu

Poznámky

Obecný nebo šablona obsahuje příliš mnoho skutečných argumentů. Zkontrolujte obecnou deklaraci nebo deklaraci šablony a vyhledejte správný počet parametrů.

Examples

Následující příklad generuje C2977:

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

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

K C2977 může také dojít při použití obecných typů:

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