处理 Windows 标头中侵入性 #defines 的最佳方法是什么?当我真的需要定义具有相同名称的符号时,它们往往会发出错误,无论它是否在命名空间中。我知道使用 WIN32_LEAN_AND_MEAN 可以避免一些定义,但不是全部。在这种特殊情况下,我在 WinNT.h#6478 中定义了一个“DELETE”——并且有很多像这样的非常通用的关键字。
我的直接想法是在声明我的常量之前做一个#undef,但这是一个非常不雅的解决方案。我不能轻易地重命名我的常量,因为它们被直接翻译成文本字符串,我需要它们完全是现在的样子。
想到的其他定义是 windowsx.h 中的 GetFirstChild/GetNextSibling ...真的吗?