从错误信息的字面意思能够看出来是 XXXXX 不能做为模板定义。函数
可是为何不能,并无说明,最后我翻阅各类资料,各类尝试后,发现每每多是因为找不到模板函数的某个参数的定义而致使的。spa
1 template<typename T> 2 BOOL Func(T &t_vaule, MyStruct &st);
上面这段函数,若是你没有定义 MyStruct 结构体,或者忘记引入了 MyStruct 的头文件,那么就会报 C2998 的错误。code
若是你的模板函数的某个参数用了 STL 的一些容器,那么也不要忘记引入对应的头文件或者加上命名空间 std.blog