C++神奇错误之switch内定义变量
出现 [Error] jump to case label [-fpermissive] 的原因是因为 switch 结构内不能够定义变量。
比如:
case 1:
scanf("%d %d",&x,&y);
auto p=color[y].upper_bound(dfn[x]);
if(p!=color[y].begin()&&low[bc[*prev(p)]]>=low[x])continue;
while(p!=color[y].end()&&(*p)<=low[x]){
upd(bc[*p],-1);
p=color[y].erase(p);
}
color[y].insert(dfn[x]),upd(x,1);
break;
case 2:
scanf("%d",&x);
printf("%d\n",(low[x]-dfn[x]+1)*A.ask(dfn[x])+B.ask(low[x])-B.ask(dfn[x]));
break;
然后你就可以愉快的报错了。

浙公网安备 33010602011771号