Enum type check

Andrew Haley aph@redhat.com
Tue Jun 15 16:34:00 GMT 2010


On 06/15/2010 11:28 AM, keshav yadav wrote:

>  Thanks for reply  below the reasion why we are getting the error
> In C, an enum is basically a way to alias names to integers.This does
> not lead to improved type checking. In C++, an enum defines an actual
> type, which results in strong type checking.
> In C++, an integer cannot be assigned directly to an "enum" as it
> could be in C. If your program contains such assignments, first cast
> the integer to the "enum" type, as in the following example:
> for example:-
> int i;
> enum X {a, b, c} e;
> e = i; /* Legal in C, not in C++. */
> e = (enum X)i; // Legal in C++.
> 
>    What I want to know is how to catch an error on C code. is there
> any flag in gcc with we can get the same error .

I'm not aware of any.

Andrew.



More information about the Gcc-help mailing list