求助奇怪CE

P2482 [SDOI2010] 猪国杀

`bool J(int from,int to,bool pd)`函数 ```cpp bool J(int from,int to,bool pd) { if(!p[to].jump) return 0; if(pd) { for(int i=from%n+1; i!=from; i=i%n+1) { if(p[i].dead) continue; if(p[to].id == "MP" && p[i].id == "FP") continue;//主猪 反猪 if((p[to].jump && p[to].id == "ZP") && p[i].id == "FP") continue;//已跳忠的猪 反猪 if((p[to].jump && p[to].id == "FP") && (p[i].id == "MP"||p[i].id == "ZP"))//已跳反的猪 主猪或忠猪 auto find_J = find_card(i , 'J');//这一行报错 qwq if(find_J != p[i].card.end()) { del_card(i , 'J'); p[i].jump = 1;//跳了 return !J(i , to , 0); } } } else { for(int i=from%n+1; i!=from; i=i%n+1) { if(p[i].dead) continue; //把上面的条件全反过来判 if(!(p[to].id == "MP" && p[i].id == "FP")) continue; if(!((p[to].jump && p[to].id == "ZP") && p[i].id == "FP")) continue; if(!((p[to].jump && p[to].id == "FP") && (p[i].id == "MP"||p[i].id == "ZP"))) continue; auto find_J = find_card(i , 'J'); if(find_J != p[i].card.end()) { del_card(i , 'J'); p[i].jump = 1;//跳了 return !J(i , to , 1); } } } return 0; } ```
by LittleN @ 2022-10-18 15:40:10


忘了说,`J`函数是用无懈可击的
by LittleN @ 2022-10-18 15:42:32


这是``warning``,不是``error``
by gybtx @ 2022-10-18 15:44:28


@[gybtx](/user/171729) `warning`之后就是`error` ``` error: 'find_J' was not declared in this scope 256 | if(find_J != p[i].card.end()) | ^~~~~~ ```
by LittleN @ 2022-10-18 15:46:48


我怀疑`error`是这个`warning`导致的
by LittleN @ 2022-10-18 15:47:33


[完整报错信息](https://www.luogu.com.cn/paste/utswjc21)
by LittleN @ 2022-10-18 16:00:14


``find_card``函数的返回值由``return find(p[x].card.begin() , p[x].card.end() , card);``决定,但是``find``函数并没有在此前声明
by gybtx @ 2022-10-18 16:07:31


@[gybtx](/user/171729) `find`函数是`c++`头文件`algorithm`里带的啊
by LittleN @ 2022-10-18 16:25:05


@[LittleN](/user/531741) 草,看错了 252行有个``if`` 你的``find_J``是在这个``if``下定义的,是局部变量。 而你下面这个``if(find_J!=...)``不属于上面这个``if``,所以不能使用``find_J`` ``` error: 'find_J' was not declared in this scope ```
by gybtx @ 2022-10-18 17:24:24


@[gybtx](/user/171729) orz 谢谢巨佬,我眼瞎了![qq_emoji: bx](https://z3.ax1x.com/2021/05/30/2VNbwQ.png)
by LittleN @ 2022-10-18 18:27:17


|