I don’t see a good way to use the identifier CONTROL. Being defined as a macro, text substitution replaces it in the C++ code before any of the C++ naming rules kick in. The only hack I can imagine is calling #undef CONTROL at the beginning of your code. But I’d actually advice against it and rather suggest to use a different name for CONTROL in your code because unexpected and hard to debug behavior might occur when removing defines from system headers…