首页 > 编程语言 > 详细

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

时间:2016-01-28 02:07:21      阅读:757      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!