C++에서 미로를 해결하는이 함수가 있지만 프로그램을 실행할 때 재귀에서 잘못된 액세스 오류가 발생합니다. 나는 무한 루프라고 생각한다. 나는 어디서 무엇이 잘못 될지 전혀 모른다.무한 재귀에서 멈춤
bool Solve_Maze(int coorx,int coory) {
if((Map[coorx][coory]==Start)||(Map[coorx][coory]==path)) {
Map[coorx][coory]=wall;
Solve_Maze(coorx+1,coory);
Solve_Maze(coorx-1,coory);
Solve_Maze(coorx,coory+1);
Solve_Maze(coorx,coory-1);
}else if(Map[coorx][coory]==End) {
cout<<"You Solved the Maze!"<<endl;
delete Map;
return(true);
}
}
지도에 따라 다릅니다 만 coorx 및 coory지도 –
유효 좌표/값은 그들은이다, 내가 전에 좌표를 표시하는 경우 당신은 아마 확인해야합니다 첫 시작은 좌표 데이터 로거이었다 설정 (예상대로 문 그리고 모든 일 경우 그리고 다른 모든 격판 덮개는 경로이었다). –
여행지로 표시된 곳을 볼 수 없습니다. 언뜻보기에, 당신은 아주 쉽게 앞뒤로 가고 결코 끝날 수없는 것처럼 보입니다. (나는 당신이 스택을 날려 버릴 것이라고 생각한다.) – Marvo