2017-10-06 3 views
1

아래 코드는 제 코드입니다. 나는 폐쇄를 배우고있다. 내 함수가 값을 반환하지 않는다는 오류가 발생합니다. 누군가 도울 수 있습니까?예기치 않은 무효 반환 값 void function

func operationOnNumbers(_ a: Int, _ b: Int, operation: (Int, Int) -> Int) { 
    let result = operation(a, b) 
    print(result) 
    return result 
} 

let addClosure = {(a: Int, b: Int) in 
    a + b 
} 

operationOnNumbers(5, 7, operation: addClosure) 
+2

오류 메시지가 매우 명시 적이다. "결과"를 반환하지만 함수 서명에는 반환 형식이 없습니다. "반환 결과"줄 –

+0

@ AlainT을 제거하십시오. 고마워, 그래, 그 오류는 아주 명백하다. 네가 도와 줘서 고마워. 반환 유형을 추가 할 수 있습니다. –

답변

0

사용하면 함수의 반환 형식을 놓친로이 수정 된 코드 (-> INT)

func operationOnNumbers(_ a: Int, _ b: Int, operation: (Int, Int) -> Int) -> Int{ 

    let result = operation(a, b) 
    print(result) 
    return result 
} 

let addClosure = {(a: Int, b: Int) in 
    a + b 
} 

operationOnNumbers(5, 7, operation: addClosure) 
+0

하지만 이제는 'operationOnNumbers'를 호출 할 때 반환 값을 무시하는 경고 메시지가 표시됩니다. – rmaddy

+0

@Henrikaly Anibal, 변수를 사용하여 반환 값을 저장할 수 있습니다. –

관련 문제