NOMINMAX:禁用Visual C++中的 min/max宏定义

转载 2018年04月16日 11:58:30

标准库在<algorithm>头中定义了两个模板函数std::min() 和 std::max()

可惜在 Visual C++ 无法使用它们,因为没有定义这些函数模板。
原因是名字min和max与<windows.h>中传统的min/max宏定义有冲突。

为了解决这个问题,Visual C++ 定义了另外两个功能相同的模板:_cpp_min() 和 _cpp_max()
我们可以用它们来代替std::min() 和 std::max()

为了禁用Visual C++中的 min/max宏定义,可以在包含<windows.h>头文件之前加上:NOMINMAX


转自:http://blog.163.com/fleeting_ash/blog/static/663410862009310113424930/

Visual Studio 2015开发C++程序的基本使用

-
  • 1970年01月01日 08:00

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

今天还是配置一个工程,遇到了这个问题,使用min时提示:输入正确的标识符。看下面的代码:#include #include #includeint main() { auto it = std...
  • wangshubo1989
  • wangshubo1989
  • 2016-01-27 23:07:20
  • 3223

max 宏定义取消:error C2589: error C2059: 语法错误 : “::”

使用PCL和windows过程中,maxmin问题是一个大问题
  • wishchin
  • wishchin
  • 2013-10-18 16:39:19
  • 2344

C/C++中的max/min函数宏定义问题

不要轻易修改自带的头文件,写代码一定要规范!
  • zjn21hx
  • zjn21hx
  • 2015-11-12 22:59:46
  • 16331

VS2015--win32工程配置的一些想法之GdiplusTypes.h(470) : error C3861: 'min': identifier not found

一次一次地,乐此不疲的掉入自己挖的坑儿。之前博客《VS2015–win32工程配置的一些想法之算法min/max与windows中的 min/max宏冲突》写了如何处理algorithm中std:mi...
  • wangshubo1989
  • wangshubo1989
  • 2016-02-18 00:06:42
  • 5316

Qt Error: "max"宏的实参不足

产生这个错误就是因为Qt自带的max函数和C++标准函数库中max函数冲突,最简单的方法就是参考【1】中,在预定义处理器中添加定义NOMINMAX来禁止使用Vsual C++的min/max宏定义,那...
  • lsxpu
  • lsxpu
  • 2014-02-14 16:59:30
  • 949

MFC调用4.0.1版本libpqxx库连接postgresql数据库提示编译错误

在MFC编程中,调用4.0.1版本libpqxx库连接postgresql数据库,在会出现编译错误,具体的错误提示如下: fatal error C1189: #error :  "Oops...
  • Fish_55_66
  • Fish_55_66
  • 2016-04-05 14:07:12
  • 740

std::min&std::max与mfc冲突问题

这个问题非常讨厌,时不时会冒出来。综合了网上的多种解决方法,总结了一下。 在项目的 stdafx.h 文件中,确保包含自己写的头文件行放在文件尾部。然后在开头处加上三行,就好了。例子如下: /...
  • luoru
  • luoru
  • 2015-10-11 17:09:24
  • 375

vc中对标准库std::min,max,swap的支持问题

最近在看c++标准库的资料,对比VC测试后发现,VC并不完全支持标准库的定义对std::min,max vc采用了另外的实现:_cpp_min,_cpp_max,例子代码:cout (1,2)  co...
  • vipcowrie
  • vipcowrie
  • 2007-10-12 08:50:00
  • 4989

c++定义的min()和Windows定义的min()冲突及解决方案

最近将项目从vs2008+qt4.6.2升级为vs2010+qt 5.1.0,编译过程中,出现了一个大范围的错误提示: "min" 宏的实参不足 查了相关资料,最后发现时c++定义的min和Win...
  • sepnineth
  • sepnineth
  • 2013-07-30 13:39:07
  • 1719
收藏助手
不良信息举报
您举报文章:NOMINMAX:禁用Visual C++中的 min/max宏定义
举报原因:
原因补充:

(最多只允许输入30个字)