我可以逃避(抑制)C预处理器宏扩展

Pio*_*dyk -1 c++ preprocessor

我使用了以下代码:

auto t = numeric_limits<decltype(m)>::max() - 1;
Run Code Online (Sandbox Code Playgroud)

后来,我需要#include <Windows.h>哪个#define max(a, b)指令,所以我不能使用::max()方法.有没有办法在::max()不使用时调用时抑制宏扩展#undef max?

Jur*_*aho 6

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

#define NOMINMAX
#include <windows.h>
Run Code Online (Sandbox Code Playgroud)