해결책
첫 번째는 이 규칙으로 인해 7.1.6.4/11에서 작동합니다. 최신 초안
한 번
return
진술은 함수에서 나타 났지만, 해당 진술에서 추론 된 반환 유형은 다른 기능을 포함하여 나머지 기능에 사용할 수 있습니다.return
진술.
따라서 반환 유형은 다음과 같이 추론됩니다. int
처음부터 return
성명;두 번째는 단지 그것이 또한 제공하는지 확인하기 위해 검사됩니다. int
, 재귀 호출이 수행된다고 가정합니다.
두 번째는 표현식 유형이 반환 유형에 따라 다르기 때문에 컴파일되지 않습니다.그래서 유형을 추론할 수 없습니다.
다른 팁
재귀 함수는 재귀 통화 전에 재귀 적 반환 문이있는 경우에만 자동 리턴 유형을 가질 수 있습니다. NORMAL 함수에 대한 반환 유형 공제 .
제휴하지 않습니다 StackOverflow