열거형도 자료형이잖아?
예를들어서
enum select_game {START , PAUSE , END };
이렇게 선언했다고 치자고.
그럼 열거형으로 변수 game_mode를 만들었다면 그 열거형이 가질 수 있는 값은
select_gmae 에서 지정해준 START , PAUSE , END 만 가질 수 있는거 아니야?
즉 enum select_game game_mode = 4;
이딴건 불가능한거 아니야?
이게 안되야 정상 아닌가? 내가 열거형을 잘못이해하고 있는건가?
왜 이렇게 테스트해보고 컴파일 해도 에러 없이 컴파일 이랑 실행이 되지?
답변좀;
그뒤에 자동으로 공백이 온다는생각은 안해봤냐? 너 int a;선언하면 오류나디?
배열에서 int a[20]={1};하면 오류남?
그 뜻이 아니고 열겨형에서 지정하고 있는 상수는 START,PAUSE,END 이렇게 즉 상수 0,1,2 3개만 정의하고 있는데 4라는 상수를 열거형 변수가 받아들일 수 있냐는 뜻이야.
C에서 열거형은 단지 int형 변수에 불과하다. 아무런 숫자를 넣어도 되고, 숫자와 열거형 상수간 변환도 마구 허용된다. 열거형이라는 이름이 부끄러운 수준. 자바나 c# 정도는 돼야 좀 열거형 다운 맛이나지.
그렇군. 씨발 하나도 의미가 없네. 열거형 변수를 쓰는거 자체가 병신짓잖이 이거;
의미가 없진 않음. 여러 사람들과 함께 코딩할때나 혹은 오래된 나의 소스코드를 볼때, 그냥 int로 두는것 보다 enum 으로 두면 별다른 설명없이 쉽게 인지할 수 있다는것이 장점. Readability가 올라감~
나열된 상수가 필요할때 쓰잖아....
상수 언제써 상수. 그리고 상수중에 일정한 규칙으로 구성되는 상수 변수들이 자주 쓰이니까 언어에서 지원되는거 아냐. 글고 난 자바의 열거형과 C++의 열거형은 당연히 다르지. C++은 정말 상수리스트로 열거형이 있고, 자바는 열거형을 구현한 객체로 래핑시켜놨잖아. 기능은 자바에서 많지만 C++도 목적과 용도가 명확하다는 말이야. 내가 넘 잘난체 하는거 같네.