This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

enum external declaration and use

Hi Folks,
I am trying to use enum to define a set of named constants with values so that they can be used by multiple C files in my project. For example. I use the following snipet to define Months in a headers file externals.h, and then If I then try to use it as follows in any of those files, it does not work.

 enum MONTHS {M1 = 'Jan', M2 = 'Feb', M3 = 'Mar'};
....
....
extern enum MONTHS; // should it be extern enum MONTHS months; ?
....
.....
SendByte (M1);//(This routine display M1 on my serial port).

I get error ---> (...error 230 MONTH unknown struct/union/enum tag)

What is the problem and how can I fix it ?
I would like to get a better understanding of this enum business, if possible..

Thanks.

Bhal Tulpule

Parents
  • No: the warning relates (as it says) to portability.

    "Portability" may include - but is not limited to - endianness...

    "I fail to understand, how assigning characters will be useful??"

    If you are not concerned about portability, it may be a useful way to pack character codes into an integer value.

Reply
  • No: the warning relates (as it says) to portability.

    "Portability" may include - but is not limited to - endianness...

    "I fail to understand, how assigning characters will be useful??"

    If you are not concerned about portability, it may be a useful way to pack character codes into an integer value.

Children
No data