我可以逃避(禁止)C预处理程序宏扩展吗?

时间:2018-07-19 10:33:26

标签: c++ preprocessor

我使用了以下代码:

auto t = numeric_limits<decltype(m)>::max() - 1;

后来,我需要使用#include <Windows.h>指令的#define max(a, b),所以不能使用::max()方法。 在不使用::max()的情况下调用#undef max时是否有抑制宏扩展的方法?

1 个答案:

答案 0 :(得分:6)

在编译器选项中或在包含windows.h之前定义NOMINMAX

#define NOMINMAX
#include <windows.h>