无法调用std :: max,因为minwindef.h定义了“max”

时间:2014-03-30 12:56:27

标签: c++ macros std

我如何实际调用std :: max?代码将无法在visual studio 2013中编译,因为它将“max”作为宏。

std::max( ... );

预期“std ::”之后的标识符。

1 个答案:

答案 0 :(得分:9)

您可以取消定义宏:

#undef max

编辑:似乎可以通过添加

安全地禁用宏
#define NOMINMAX

在定义它们的头文件之前(很可能是windef.h,你可能间接地包含它们。)