open class Test1 {
fun name(a: Int, b: Int): Int {
if (a % 2 == 0 && b % 2 == 0) return (a * b)
if (a % 2 == 1 && b % 2 == 1) return (a + b)
if ((a % 2 == 0).xor(b % 2 == 0)) return if (a > b) (a - b) else (b - a)
}
}
class Test2 : Test1() {
}
val obj1 = Test2()
print(obj1.name(7 , 8))
Kotlin에서 상속을 배우려고하지만 name
아버지 클래스에서 함수를 호출 하고 결과를 인쇄하려고하면 아래 오류가 발생합니다.error: a return expression required in a function with a block body ('{...}') }
함수의 마지막 줄
if ((a % 2 == 0).xor(b % 2 == 0)) return if (a > b) (a - b) else (b - a)
명확성을 위해 대괄호를 추가하면 다음과 같이 표시됩니다.
if ((a % 2 == 0).xor(b % 2 == 0)) {
return if (a > b) (a - b) else (b - a)
}
따라서 if 테스트가 거짓이면 코드가 실행되지 않습니다. 즉, 함수의 끝에 도달했지만 여전히 무언가를 반환하지 않았 음을 의미합니다. Int를 반환해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다