2013-10-09 2 views
3
char change(const char c){ 
    (c >= 'A')&&(c <= 'M') ? (c+'N'-'A') : 
((c >= 'N')&&(c <= 'Z') ? (c-('N'-'A')) : 
((c >='a')&&(c <= 'm') ? (c+'n'-'a') : 
((c >= 'n')&&(c <= 'z') ? (c-('n'-'a')) : c))); 
} 

"경고 : 표현식 결과가 사용되지 않음"및 "오류 : 제어가 정상적으로 처리되지 않음 [-Werror, -Wreturn-type]"에 도달 했습니까?경고 : 표현식 결과가 사용되지 않음

+2

paulsm4 @ : 올바른 형식의 경우, 깊이 체인':'표현 식의 앞에 return를 추가하면 모두 해결됩니다 반드시 그 모든 무서운되지 않습니다. –

답변

5

식이 계산되고 결과가 삭제되므로 경고 메시지가 나타납니다. 이것은 "값을 반환하지 않고 함수의 끝에 도달"오류 관련이있다 :

char change(const char c) { 
    return (c >= 'A') && (c <= 'M') ? 
     (c+'N'-'A') : ((c >= 'N') && (c <= 'Z') ? 
      (c-('N'-'A')) : ((c >='a') && (c <= 'm') ? 
       (c+'n'-'a') : ((c >= 'n') && (c <= 'z') ? 
        (c-('n'-'a')) : c))); 
} 
관련 문제