2011-08-18 7 views
0

본문없이 while 루프를 컴파일하는 동안이 메시지를 보았습니다.경고 메시지의 목적은 무엇입니까?

warning: suggest a space before ';' or explicit braces around empty body in 
'while' statement 

왜 공백을 넣어야합니까? 내 루프가 실제로 아무것도하지 않는다는 것을 명확하게하는 것입니까?

+0

당신이 게시 할 수 당신의 코드? –

+0

그건 당신이 "할일"을 잊지 않았 음을 의미합니다. – Owen

+1

나는 for 문을 선호한다. 부품 중 하나가 부족하면 블랙 보드에 못과 같습니다. 왜냐하면 (;;)은 특히 강력합니다. –

답변

5

예는 일반적인 규칙은 다음과 같이 한 줄에 단독으로 뭔가를 넣어하는 것입니다 실수로 라인 끝에 세미콜론을 자동으로 두지 않았다는 것을 보여 주기만하면됩니다.

+4

'/ *이 범위는 공백으로 남겨 둡니다 * /' –

1

예를 -

4

왜 공간을 두어야합니까? 내 루프가 실제로 아무것도하지 않는다는 것을 명확하게하는 것입니까?

예. 그렇습니다.

많은 경험이 프로그래머들은 ; 모든 라인의 마지막에 배치됩니다 가정하기 때문에 종종 for 또는 while 같은 제어 흐름 문 뒤에 ;을 넣어뿐만 아니라 문과 선언의 끝에. 경고는 비어있는 루프를 만들었 음을 이해했다는 것을 분명하게 암시하는 것입니다.

2

더 분명 빈 몸 루프 구문은 continue 문을 사용하는 것입니다

while (condition_with_side_effects) 
    continue; 

아무도 실수로 외부 ; 추가 한 생각하지 않습니다 그런 식 :

while (condition); // bad style 
관련 문제