我的程序用于在堆栈上执行一些简单的任务,这些任务的数据类型由用户控制。我在main之外有一个函数,在main中调用:
void interface (&Stack)
需要接受
的许多不同实现 template <class T> Stack
例如,它需要接受一堆int,double等。其余的实现都没有错误。但如果我使用
void interface (&Stack)
编译器说我需要模板参数。但是,如果我指定一个(例如int),那么我将忽略我的程序需要用于Stack类的其他数据类型!
如果我使用
void interface (&Stack<T>)
编译器说该参数无效。
我该怎么办?
答案 0 :(得分:1)
您需要先定义模板参数:
template<typename T>
void interface(Stack<T>);