C typedef deficiency

portegys at ihuxv.UUCP portegys at ihuxv.UUCP
Thu Jun 23 00:38:24 AEST 1983


I was suprised to find out recently that C does not allow
identical enumeration names within different data types.  I
am working under UNIX 5.0 on a VAX 11/780.  Here is an example
of what I mean:

----------------------------------------------

typedef enum {
	GREEN,
	RIPE,
	ROTTEN
} APPLE;

typedef enum {
	SOUR,
	JUICY,
	ROTTEN
} ORANGE;

main() {

	ORANGE fruitx;
	APPLE fruity;

	fruitx = ROTTEN;
	fruity = ROTTEN;

}

----------------------------------------------

This program will not compile, due to the redeclared symbol ROTTEN.
I think this is a deficiency of C, since the two values of ROTTEN
apply to different data types.

                             Tom Portegys, BTL IH, ihuxv!portegys



More information about the Comp.lang.c mailing list