码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-01-28 02:09:25      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:

今天还是配置一个工程,遇到了这个问题,使用min时提示:输入正确的标识符。

看下面的代码:

#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

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

标签:

原文地址:http://blog.csdn.net/wangshubo1989/article/details/50597178

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!