Quote Originally Posted by GCDEF View Post
What are you basing that on? The first line in MSDN's documentation for #define says "You can use the #define directive to give a meaningful name to a constant in your program", and they do it all over the place.
Laserlight explained perfectly well why.
Just because microsoft do something doesn't make it a good idea. They also frequently use gotos. I dont subscribe to the "Oh M$ do it that way so it must be fine club". There are times when a macro is unavoidable but whenever it is avoidable, you ought to avoid it.