-
컴파일러 경고 warning C4127프로그래밍/의문 2015. 3. 20. 05:53반응형
무한 루프, 즉 while(true){ ... } 를 하려고 했는데
그때 위험 경고 warning C4127이 발생했다.
컴파일러 경고 수준을 4로 해놓으면 발생하는 거 같은데 다음과 같이 우회하여 경고를 지울 수 있다
123456789while(true) // warning! C4127{// break;}for(;;) // ok{// break;}MSDN에 저렇게 우회를 할 수 있다고 하는걸 봐선 무한 루프를 사용할 때에는 while, 또는 do while이 아닌 for(;;)를 권하는 건가 싶다.
오류 메시지
조건식이 상수입니다.
conditional expression is constantwhile 루프 또는 if 문의 제어 식이 상수로 계산됩니다. 루프가 중간에서 종료되어 while 루프의 제어 식이 상수가 되는 경우 while 루프를 for 루프로 바꿔 보십시오. for 루프의 초기화, 종료 테스트 및 루프 증가를 생략하여 이 루프를 while(1)과 같은 무한 루프로 만들고 for문의 본문에서 루프를 끝낼 수 있습니다.
참고 https://msdn.microsoft.com/ko-kr/library/6t66728h(v=vs.90).aspx
반응형'프로그래밍 > 의문' 카테고리의 다른 글
서버 코딩 중 있었던 수신 직후 소켓이 닫히던 버그 (0) 2015.05.25 C++ 서버 프레임워크 제작 중 연산자 재정의로 인해 발생한 버그 (0) 2015.05.23 코딩 스타일은 개발자의 지문 (0) 2015.02.12 32비트 OS(운영체제)에서 64비트 OS로 바꾸면 성능이 꼭 향상만 될까? (0) 2015.02.04 bad_descriptor 오류와 PeerManager (0) 2014.10.31