当前位置:首页 > 操作系统 > Windows

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

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

看下面的代码:

            <code>
                <span>#include<iostream></span>
                <span>#include<Windows.h></span>
                <span>#include<algorithm></span>
                <span>int</span> main()
{
    <span>auto</span> it = <span>std</span>::min(<span>1</span>, <span>2</span>);<span>//错误,应输入标识符</span><span>return</span><span>0</span>;
}</code>
        

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

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

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

另一种解决方案就是使用预处理器来屏蔽min:
项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 ——>加入NOMINMAX

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


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐