I answer a question with a C language tag and got down-voted for using #define rather than const or static for defining constants. One of the constants is defined in terms of the other constants. When using #define this compiles fine using gcc, when using const I get a compilation error. gcc forces the use of Standard C, g++ compiles everything as C++. Should g++ be used over gcc at all times? There are 2 things I should be down voted for on the answer (2 warning messages are generated) but what I was down voted for was the use of #define over const or static.
I asked a question about proper usage of #define versus const on stackoverflow https://stackoverflow.com/questions/36237841/how-to-define-a-static-const-using-previously-defined-constants-in-c. The answer was to use #define.