缺少 类模板 “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(){}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值