Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 模板类if语句作用域_C++_Templates - Fatal编程技术网

C++ 模板类if语句作用域

C++ 模板类if语句作用域,c++,templates,C++,Templates,我的程序是要在一个堆栈上执行一些简单的任务,该堆栈的数据类型由用户控制。我在main之外有一个函数,它在main内部被调用: void interface (&Stack) 它需要接受许多不同的 template <class T> Stack 编译器说我需要模板参数。但是如果我指定一个(例如int),那么我将忽略程序需要用于堆栈类的其他数据类型 如果我使用 void interface (&Stack<T>) void接口(&Stack) 编译

我的程序是要在一个堆栈上执行一些简单的任务,该堆栈的数据类型由用户控制。我在main之外有一个函数,它在main内部被调用:

void interface (&Stack)
它需要接受许多不同的

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

如果我使用

void interface (&Stack<T>)
void接口(&Stack)
编译器说参数无效


我该怎么办?

您需要先定义一个模板参数:

template<typename T>
void interface(Stack<T>);
模板
空洞界面(堆栈);
template<typename T>
void interface(Stack<T>);