Hello,
I did #define new for debugging memory leaks, and I get this error:
Sigh. I would have hoped that your compiler would have rejected the code out of hand.
[macro.names]/2:
A translation unit shall not #define or #undef names lexically identical to keywords, to the identifiers listed in Table 4, to the attribute-tokens described in 9.11, or to the identifiers expects or ensures, except that the names likely and unlikely may be defined as function-like macros (14.3).
'new' is a keyword listed in Table 4.
-- Marshall