This is because as the error suggests "not all paths return a value".
This is the possible problem:
searchBin(array,x,l,r);
A fix will be:
return searchBin(array,x,l,r);
-------------------가능한 실행 경로 중 하나가 return 문으로 이어지지 않을 수 있기 때문입니다. 마지막 if
에서 조건 l<=r
이 true
이면 아무것도 반환되지 않습니다 (귀하의 메서드를 재귀 적으로 호출 할뿐입니다).
return
재귀 호출 전에 키워드 를 추가 할 수 있습니다 .
return searchBin(array,x,l,r);
이렇게하면 메서드 (이 경우)는 재귀 호출이 반환하는 모든 것을 반환합니다.
-------------------재귀 호출이있는 곳은 반환되지 않습니다.
searchBin
출처
https://stackoverflow.com/questions/22079808