Name: Anonymous 2010-09-25 12:15
So tell me, /prog/rammers
In C, why use enum instead of just #define?
In C, why use enum instead of just #define?
[0][~]% cat enum.c
enum e_num
{
ENUM_CASE_1,
ENUM_CASE_2,
ENUM_CASE_3,
ENUM_CASE_4
};
void f()
{
enum e_num e = ENUM_CASE_3;
switch(e){
case ENUM_CASE_1:
case ENUM_CASE_2:
case ENUM_CASE_3:
break;
}
}
[0][~]% gcc -S -o /dev/null -Wall enum.c
enum.c: In function ‘f’:
enum.c:12:2: warning: enumeration value ‘ENUM_CASE_4’ not handled in switch
[0][~]%