typedef enum as subset of another enum 
Author Message
 typedef enum as subset of another enum


>>Excuse me if I am being an ignoramus but...

>>I want to create two enumerated types, one being a subset of the
>>other, something like this:

>>typedef enum { a, b, c, d, e } Set;  /* This defines the full set */
>>typedef enum { b, c, d } SubSet;     /* This is a subset of above */

>>I wasn't too surprised when my compiler choked on this. Is there a
>>way to do this in C? I have checked a few books and I haven't seen
>>anything that hints at a way to do it. Thanks in advance.

>My understanding of enumerated types is that (using your example) the a would
>be psuedo-#defined to 0, the 'b' to 1, 'c' to 2 and so on.  If your subset had
>it's vars in the same position as the set... it would work!!  As in:

>typedef enum { b, c, d, a, e } Set;  /* This defines the full set */
>typedef enum { b, c, d } SubSet;     /* This is a subset of above */

        No, this would not work. Check out K&R (pp 39). Names at different
        enumeration should be distinct. Please do not take something for
        granted just because enumerations are quite similar to #define's.

        As to the original posting, do you have absolute necessity to use
        the same names in different enumerations at all? I am not aware of
        any tricks to do this. I probably would get rid of enumerations and
        use macros instead. Again, I am not an authority on this matter.


>I have no idea if lint would print nasties about this I never use it :-)  But if
>i ever defined an enumerated data type like the above, I most certainly would
>doc the thing as ordered for a purpose.

>! John Winans                       Advanced Computing Research Facility  !

>!                                                                         !
>! If it weren't for time, everything would happen at once.                !

Benjamin Zhu

+Disclaimer:                                                              +
+       I do not represent Johns Hopkins, Johns Hopkins does not          +
+       represent me either.                                              +

Wed, 16 Dec 1992 07:48:11 GMT  
 [ 1 post ] 

 Relevant Pages 

1. enum - enum ?

2. enum - enum ?

3. typedef enum???

4. typedef in combination with enum : not ANSI-C ?

5. Stoopid Question about typedef enum...

6. Casting return value to Typedef enum?

7. Question about use of enum in typedef and struct

8. typedef enum in IDL for BSTR const

9. typedef/enum visibility in .idl

10. typedef enum in imported idl files

11. enum&typedef

12. typedef vs enum


Powered by phpBB® Forum Software