在下面的代码中,编译器在第二行显示错误,而如果我没有使用模板类并明确定义V,则它可以正常工作。
template <class T,template <class T> class V>
void struct inp<T, V >::input(ifstream& in, V<T> lst)
答案 0 :(得分:2)
您的模板声明中不能同时包含void
和 struct
。你在谈论模板化的函数还是模板化的类?并且您可能需要const
引用ifstream
并且至少非const引用您的模板化类模板parmater。你想要一个班级:
template <class T,template <class T> class V>
struct inp<T, V >::input(const ifstream& in, V<T>& lst)
或功能:
template <class T,template <class T> class V>
void inp<T, V >::input(const ifstream& in, V<T>& lst)