- 此问题在此处已有答案**:
#define NOMINMAX using std::min/max(5个答案)
4天前关闭.
if (timeoutMs >= std::numeric_limits<int>::max())
intTimeoutMs = std::numeric_limits<int>::max();
在这段代码中,有一个覆盖问题,我使用了define NOMINMAX,但是它对处理这个问题没有帮助。
错误:C2062:意外的类型"未知类型"
我使用了MVSC2017和2019的编译器。我使用了定义NO_MIN_MAX和NOMINMAX。
还将代码放在附加括号中
if (timeoutMs >= (std::numeric_limits<int>::max()))
intTimeoutMs = (std::numeric_limits<int>::max());
2条答案
按热度按时间t5fffqht1#
像往常一样,当我写一个问题时,我找到了答案。我们可以彻底地禁用这些宏,但我们需要记住,我们需要确保我们将不需要它们
#undef min #undef max
或者使用来自chromium Source的代码
tkclm6bt2#
如果宏名称后面跟
(
,则会将其解释为类似函数的宏。可以通过将宏名称括在括号中来阻止类似函数的宏展开:(max)()
.