求原因
写了一个这个函数:
void insert(int a,int &id,int v){
if(!id){
id=New(a,v);
return;
}
if(v==val[a][id]){
cnt[a][id]++;
}
else{
int d=v<val[a][id]?0:1;
insert(a,ch[a][id][d],v);
if(dat[a][id]<dat[a][ch[a][id][d]])Rotate(a,id,d^1);
}
pushup(a,id);
}
然后调用
if(cnt0==0){
insert(a,root,b);
cnt1++;
}
Dev本地CE报错Invalid initialization of non-const reference of 'type long long int&' from an rvalue of type 'long long int*'
完整代码放二楼