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

Posted 江南-一苇渡江

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2015--win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突相关的知识,希望对你有一定的参考价值。

今天还是配置一个工程,遇到了这个问题,使用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宏冲突的主要内容,如果未能解决你的问题,请参考以下文章

VS2015--win32工程配置的一些想法之Google Code Style中头文件的顺序

VS2015--win32工程配置的一些想法之在 Visual Studio 2015 中进行调试的同时分析性能

VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能

0 VS2015 WIN7 配置OPENGL

龙书D3D11 Demo配置(VS2015+win10)

OpenCV3.3.0安装配置(VS2015+win7)