萌新求助c++语法
  • 板块学术版
  • 楼主「 」
  • 当前回复10
  • 已保存回复10
  • 发布时间2021/3/29 14:49
  • 上次更新2023/11/5 01:24:20
查看原帖
萌新求助c++语法
72468
「 」楼主2021/3/29 14:49

萌新今天突然想用结构体套结构体里面还有一些奇怪函数的写法来使得我的代码变得更加美观

但是我失败了,编译器说:“非静态成员引用必须与特定对象相对。”

这里大概明白了 CECE 的原因,但是在不改变我目的的情况下(即还是结构体套结构体,且不使用 static),能否有人可以告诉我如何修改呢?

struct Tree{
	struct Node{int dep;}tr[N];
	Tree(){memset(tr,0,sizeof(tr));}
	struct Edge{int nxt,to,val;}e[N<<1];int fir[N];
	void add(int u,int v,int w,int i){e[i]=(Edge){fir[u],v,w},fir[u]=i;}
	struct Beizeng{
		int fa[N][20],data[N][20];
		void init(){
			for(int i=1;i<20;++i){
				for(int j=1;j<=n;++j){
					fa[j][i]=fa[fa[j][i-1]][i-1];
					data[j][i]=min(data[j][i-1],data[fa[j][i-1]][i-1]);
				}
			}
		}
		void lca(int u,int v){
			if(tr[u].dep<tr[v].dep) swap(u,v);//报错位置,是tr的原因
		}
	};
}t,now;
2021/3/29 14:49
加载中...