求助结构体重载运算符
  • 板块学术版
  • 楼主qiuzx
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/24 08:16
  • 上次更新2023/11/2 11:37:46
查看原帖
求助结构体重载运算符
173935
qiuzx楼主2023/10/24 08:16

我在代码中定义了一个结构体如下:

struct Node{
	int l,r;
	ll v;
	Node(){l=r=-1,v=LINF;}
	Node(int _l,int _r,ll _v){l=_l,r=_r,v=_v;}
	bool operator < (const Node &x)const{
		return v<x.v;
	}
};

然后又定义了一个结构体,其中定义了这样一个运算:

struct Info{
	Node v;
	Info operator + (const Info &x)const{
		Node mn=min(v,x.v);
		...
	}
}

这是可以正常编译的,但是如果将 Node 中 < 的 const 去掉,即变成:

	bool operator < (const Node &x){
		return v<x.v;
	}

就不能正常编译了,请问这是什么原因?以及这个 const 起到了什么作用?

2023/10/24 08:16
加载中...