Reputation: 15074
In my C++ class, I have a private variable defined as
unsigned int _MT;
This worked fine until I tried using the Intel C++ compiler. When I used the Intel compiler (version 15.0.xx) I get the error:
... error: expected an identifier
unsigned int _MT;
^
Upon closer inspection, I discovered that Intel has a predefined (and proprietary) macro _MT
. It's not entirely clear to me what this macro does. I do know that it is only defined for 64-bit architectures—which is pretty much every platform these days.
What danger is there in undefining this macro?
Upvotes: 3
Views: 70
Reputation: 234785
Using a variable that starts with an underscore followed by a capital letter is undefined behaviour.
Don't do it.
(I've seen _MT
standing for "use multithreaded runtime").
Upvotes: 4