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 中进行调试的同一时候分析性能