Ошибка компилятора C2976Compiler Error C2976

"идентификатор": слишком мало аргументов типа'identifier' : too few type arguments

В универсальном шаблоне или отсутствует один или несколько фактических аргументов.A generic or template is missing one or more actual arguments. Проверьте объявление универсального класса или шаблона, чтобы определить правильное число параметров.Check the generic or template declaration to find the correct number of parameters.

Эта ошибка может быть вызвана отсутствием аргументов шаблона в компонентах стандартной библиотеки C++.This error can be caused by missing template arguments in C++ Standard Library components.

Следующий пример приводит к возникновению ошибки C2976:The following sample generates C2976:

// C2976.cpp
template <class T>
struct TC {
   T t;
};
int main() {
   TC<>* t;   // C2976
   TC<int>* t2;   // OK
}

C2976 также может возникать при использовании универсальных шаблонов:C2976 can also occur when using generics:

// C2976b.cpp
// compile with: /clr
generic <class T>
ref struct GC {
   T t;
};

int main() {
   GC<>^ g;   // C2976
   GC<int>^ g2;   // OK
}