> enum {
> a = 1,
> b = 2.44000000000000000000618549L,
> c = 2.44F,
> d = "this is weird",
> e = 1LL<<62,
> } foo;
>
> How on earth do you switch() on it? And what's its sizeof()?
why does being able to switch on any enum trump
the ability to define constants without #define?
if you try, sizeof(foo)==4, but you'll need to remove
'd' since you can't have a string. you can't switch on
a vlong or float. would be nice, though.
the plan 9 style is never to typedef or name enums.
(though i saw one creep into the source recently.)
so the sizeof problem would naturally never come up.
if it were an error to name or typedef an enum
containing non-int members, there would be no
problem.
- erik