两个语法问题
  • 板块学术版
  • 楼主_caiji_
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/3/20 10:17
  • 上次更新2023/11/5 01:51:46
查看原帖
两个语法问题
390033
_caiji_楼主2021/3/20 10:17

rt,本蒟蒻在写链表模版,遇到了几个问题:

  1. 我声明链表这个类时写了
template<typename T=int>
class Linked_list{

但我用

Linked_list a;

CE 了,不应该默认是 int 吗?

  1. 我写
struct node{
            T num;
            node *l,*r;
            node(const T &num,node *l=NULL,node *r=NULL):num(num),l(l),r(r){}
            node():l(NULL),r(NULL){}
            void del(){if(r!=NULL) r->del(),delete r;}
        } head;

可以过编译,但我改了一下:

struct node{
            T num;
            node *l,*r;
            node(const T &num,node *l=NULL,node *r=NULL):num(num),l(l),r(r){}
            //node():l(NULL),r(NULL){}
            void del(){if(r!=NULL) r->del(),delete r;}
        } head;
        Linked_list(){head.l=head.r=NULL;}

也 CE 了,按理说应该会调用默认的构造函数,但它提示构造函数的参数不够,为什么呢?

附完整代码

2021/3/20 10:17
加载中...