“identifier”:类型参数过少
泛型或模板缺少一个或多个实际参数。 检查泛型或模板声明,以查找正确的参数数目。
此错误可能是由于 C++ 标准库组件中缺少模板参数造成的。
以下示例生成 C2976:
// C2976.cpp
template <class T>
struct TC {
T t;
};
int main() {
TC<>* t; // C2976
TC<int>* t2; // OK
}
在使用泛型时,C2976 也可能会发生:
// C2976b.cpp
// compile with: /clr
generic <class T>
ref struct GC {
T t;
};
int main() {
GC<>^ g; // C2976
GC<int>^ g2; // OK
}