What\'s the difference between using a define statement and an enum statement in C/C++ (and is there any difference when using them with either C or C++)?
In addition to the good points listed above, you can limit the scope of enums to a class, struct or namespace. Personally, I like to have the minimum number of relevent symbols in scope at any one time which is another reason for using enums rather than #defines.