error C2589: “(”:“::”右边的非法标记错误的处理
问题:error C2589: “(”:“::”右边的非法标记错误的处理
标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max(),通常用它可以计算某个值对的最小值和最大值。而在Visual C++ 使用会发生名字min和max与<windows.h>中传统的min/max宏定义有冲突的现象。
可以用如下方法解决(vs2010中解决):
打开工程属性->C/C++->预处理器->预处理器定义->加入NOMINMAX。
可以解决如上所遇问题,再次编译工程通过。
注意:
在报错文件中直接添加#define NOMINMAX不起作用。需要在工程属性->C/C++->预处理器->预处理器定义->加入NOMINMA,才起作用。