이는 오류가 "모든 경로가 값을 반환하는 것은 아님"을 암시하기 때문입니다.
이것은 가능한 문제입니다.
searchBin(array,x,l,r);
수정 사항은 다음과 같습니다.
return searchBin(array,x,l,r);
-------------------가능한 실행 경로 중 하나가 return 문으로 이어지지 않을 수 있기 때문입니다. 마지막 if
에서 조건 l<=r
이 true
이면 아무것도 반환되지 않습니다 (귀하의 메서드를 재귀 적으로 호출 할뿐입니다).
return
재귀 호출 전에 키워드 를 추가 할 수 있습니다 .
return searchBin(array,x,l,r);
이렇게하면 메서드 (이 경우)는 재귀 호출이 반환하는 모든 것을 반환합니다.
-------------------재귀 호출이있는 곳은 반환되지 않습니다.
searchBin
출처
https://stackoverflow.com/questions/22079794