缺少 类模板 “deque“ 的参数列表和参数列表有两个或两个以上的形参
Posted 阿宝逃离地球
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缺少 类模板 “deque“ 的参数列表和参数列表有两个或两个以上的形参相关的知识,希望对你有一定的参考价值。
缺少 类模板 “deque” 的参数列表C/C++
模板类deque
template <typename T>
class deque
{
private:
T data;
public:
deque(T d = 0):data(d);
~deque();
};
deque::deque(T d = 0):data(d){}
deque<T>::~deque() {}
报错:缺少 类模板 “deque” 的参数列表C/C++(441),int deque( d = 0)
原因:模板类是带模板参数的类,要求在接口实现中的类名称后面加入模板类参数,函数返回值亦如此
修改:
template <typename T>
deque<T>::deque(T d = 0):data(d){}
template <typename T>
deque<T>::~deque(){}
函数的实现
template <typename T>
bool deque<T>::empty();
报错:不能在成员函数 “deque::empty” 的类外部重新声明该函数
原因:多了分号,没有花括号,被认为是声明了
修改:
template <typename T>
bool deque<T>::empty(){}
当模板实参列表中有两个或两个以上的形参时
实现一个复合关系,上面的deque模板类为Component part,以下为Container part:模板类queue,其模板实参有两个形参
template <class T,class Sequence = deque<T>>
class queue
{
private:
Sequence c;
public:
queue();
~queue();
};
函数实现:
template <class T,class Sequence>
queue<T,Sequence>::queue(){}
template <class T,class Sequence>
queue<T,Sequence>::~queue(){}
以上是关于缺少 类模板 “deque“ 的参数列表和参数列表有两个或两个以上的形参的主要内容,如果未能解决你的问题,请参考以下文章
请C++高手指导 IntelliSense: 缺少 类模板 "std::iterator" 的参数列表 。如何添加类模板到集成环境