模板类if语句范围

时间:2014-08-13 00:01:20

标签: c++ templates

我的程序用于在堆栈上执行一些简单的任务,这些任务的数据类型由用户控制。我在main之外有一个函数,在main中调用:

void interface (&Stack)

需要接受

的许多不同实现
 template <class T> Stack

例如,它需要接受一堆int,double等。其余的实现都没有错误。但如果我使用

void interface (&Stack)

编译器说我需要模板参数。但是,如果我指定一个(例如int),那么我将忽略我的程序需要用于Stack类的其他数据类型!

如果我使用

void interface (&Stack<T>)

编译器说该参数无效。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要先定义模板参数:

template<typename T>
void interface(Stack<T>);