您的位置:首页 > 其它

VS2015--win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突

2016-01-27 23:07 309 查看
今天还是配置一个工程,遇到了这个问题,使用min时提示:输入正确的标识符。

看下面的代码:

[code]#include<iostream>
#include<Windows.h>
#include<algorithm>

int main()
{
    auto it = std::min(1, 2);//错误,应输入标识符
    return 0;
}


如果把windows的头文件注释掉就不会发生错误。

问题的原因就是algorithm中的std::min与windows中min的宏定义产生了冲突。

注释windows头文件是一种解决方案。

另一种解决方案就是使用预处理器来屏蔽min:

项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 ——>加入NOMINMAX
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: