2012-06-22 3 views
-1

열거 형 상수를 처리하지 않으면 경고가 생성된다는 기사를 pdf 기사에서 발견했습니다. 하지만 Bloodshed/DevC++ 컴파일러에서는 경고없이 정상적으로 작동합니다. 문제가 어디에 있습니까? 여기, 코드 조각입니다열거 형의 사실

enum fruit {banana, apple, blueberry, mango} my_fruit; 

경고를 생성합니다 망고하는 PDF 문서 처리 바나나, 사과, 블루 베리에 있지만 따라,하지만 난 경고를 찾을 수 없습니다.

또 다른 것은 enum 변수 my_fruit의 용도입니다. 내가 궁금한 점은 C에서 enum 변수를 특별한 용도로 사용한다는 것입니다. 보통 int가 아닌 특별한 용도가 없다면 왜 존재합니까?

+0

** 취급 **의 의미는 무엇입니까? 당신이 참조하는 PDF 리소스를 연결할 수 있습니까? – wap26

+0

취급 방법은 나중에 사용하는 것입니다. 스위치 블록에서 첫 번째 세 개를 사용하는 것이 좋지만 마지막 세 개는 사용하지 말아야한다고 생각합니다. –

+0

ok는 다음 질문에 '스위치'를 언급합니다. – wap26

답변

4

경고는 switchenum fruit 변수의 사용을 언급한다 :

열거 값 '망고'처리되지 : gcc -Wall 컴파일 할 때

switch (my_fruit) 
{ 
case banana: 
    break; 
case apple: 
    break; 
case blueberry: 
    break; 
} 

컴파일러는 다음과 같은 경고를 방출 스위치 있음

이것은 유용한 진단입니다. veloper에서 잠재적 인 감독까지. (컴파일러의 관점에서) 관련이없는 집합 인 const int 변수로는 불가능합니다.

관련 문제