| ??? 10/25/11 07:48 Read: times Msg Score: +1 +1 Good Answer/Helpful  | 
#184352 - consider enum Responding to: ???'s previous message  | 
I would recommend that you make use of the wonderful enum construct when you need to enumerate integer constants.
 You should try to limit the use of #define to situations where enum can not be used - such as when you want to map a function name, a sequence of instructions, a text string or similar. The following is nicer to use than a sequence of #define. If you do need to hard-code the mapping of symbol to integer value, then you can explicitly add a " = 1" or similar. 
enum {
    actionEmpty,
    actionOn,
    actionOff,
    actionRegulate,
    actionPulse
};
Above is handled by the compiler, while below constructs are handled by the preprocessor: #define RULE_ACTION_ON 1 #define RULE_ACTION_OFF 2 #define RULE_ACTION_REGULATE 3 #define RULE_ACTION_PULSE 4  | 
| Topic | Author | Date | 
| User entered recipes ??? | 01/01/70 00:00 | |
| Just create array of regular rules | 01/01/70 00:00 | |
| Thanks - that's great | 01/01/70 00:00 | |
| programming language | 01/01/70 00:00 | |
| programming language - not really | 01/01/70 00:00 | |
| consider enum | 01/01/70 00:00 | |
| thanks - implemented. | 01/01/70 00:00 | |
| Intelligence | 01/01/70 00:00 | |
| I must have a stupid compiler | 01/01/70 00:00 | |
| Not all compilers are as good at generate warnings | 01/01/70 00:00 | |
| no warning/error on the compiler | 01/01/70 00:00 | |
| response from Raisonance | 01/01/70 00:00 | |
| enumerations on 8051 | 01/01/70 00:00 | |
| enums are 8bit by default on Raisonance | 01/01/70 00:00 | |
| NULL | 01/01/70 00:00 | |
| Could you show me the code | 01/01/70 00:00 | |
| compatibility et al | 01/01/70 00:00 | |
| why change pointer to CODE? | 01/01/70 00:00 | |
| enum advantage | 01/01/70 00:00 | |
| user page does not work (at least for me) | 01/01/70 00:00 | |
| try it now | 01/01/70 00:00 | |
| re: enumerations on 8051 | 01/01/70 00:00 | |
   Article on Hierarchical Menu Structure        | 01/01/70 00:00 | 



