visual studio-“max”: 不是“std”的成员 如何解决?

问题描述

“max”: 不是“std”的成员 如何解决?

使用VS2010编写的C++程序 std:min 转换到 VS2013,提示错误“min”: 不是“std”的成员 如何解决?

解决方案

 标准库在<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>头文件之前加上:

#define NOMINMAX

或者将 NOMINMAX 加到 preprocessor difinitions 中。具体方法是:

Visual C++ 6.0: 打开工程文件(*.dsw)或者(*.dsp),选中要定义的工程,进入菜单“Project”=>“Settings”(打开Settings对话框)=> 在左上角的“Setting for”下拉列表框处选择“All configurations”,然后选中“C/C++”标签=>在 “preprocessor difinitions”编辑框中加上“NOMINMAX”即可。

解决方案二:

包含头文件algorithm

时间: 2024-10-04 17:43:37

visual studio-“max”: 不是“std”的成员 如何解决?的相关文章

Visual Studio 2005 集成开发环境

Visual Studio 2005 集成开发环境   作者:ChinaBang时间:2005-04-10Blog: blog.csdn.net/shuaihj                 摘要:IDE增强     内容: Microsoft Visual Studio 2005 包含许多对开发环境新的增强.创新和提高,其目的在于使 Visual  .NET 开发人员比以往更加高效.本章探讨其中的一些功能,并且阐述开发人员如何使用它们以更快.更准确地编写代码. 提示除其他对 IDE 的"改进

visual studio-关于Visual Studio执行闪现(代码执行窗口闪退)问题

问题描述 关于Visual Studio执行闪现(代码执行窗口闪退)问题 这是我的代码 看到问答解决方法(http://jingyan.todgo.com/shuma/2414656ctc.html),进入属性查看发现没有链接器,请大家帮助! 解决方案 嘛,一般执行是crtl+f5.......如果一闪而过的话可以加一个"getchar();"在return 的前面,还有,楼上的,vc这种东西就不要推荐了,最好还是gcc或者vs好一点 解决方案二: 在return 0的上面一行加sys

有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代

有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 关于

Visual Studio原生开发的10个调试技巧(一)

原文:Visual Studio原生开发的10个调试技巧(一) 最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | B

分享Visual Studio原生开发的10个调试技巧_实用技巧

最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其他一些同样有用的技巧.我整理了一些Visual Studio(至少在VS 2008下)原生开发的调试技巧.(如果你是工作在托管代码下,调试器会有更多的特性,在CodeProject中有介绍它们的文章),下面是我的整理的一些技巧: 异常中断 | Break on Exception Watch窗口中的伪变量 |

带你玩转Visual Studio——调用约定__cdecl、__stdcall和__fastcall

有一定C++开发经验的人一定对"__cdecl.__stdcall.__fastcall"肯定不陌生吧!但你真正理解了吗?是的,我曾在这采了无数个坑,栽了无数个跟头,终于忍无可忍要把它总结一下(虽然我已经有能力解决大部分这种问题了)! 什么是调用约定 函数的调用约定,顾名思义就是对函数调用的一个约束和规定(规范),描述了函数参数是怎么传递和由谁清除堆栈的.它决定以下内容:(1)函数参数的压栈顺序,(2)由调用者还是被调用者把参数弹出栈,(3)以及产生函数修饰名的方法. 我们知道函数由以

Visual Studio 2010自动执行属性

详解Visual Studio 2010中自动执行属性 在Visual Studio 2010中,有不少特性能帮助大家更好,更快的完成开发工作.本文将介绍的是自动执行属性. 自动执行的属性能够让你迅速指定一个类的属性,不用写"Get"和"Set"这个属性的代码.当你为自动执行的属性写代码的时候,Visual Basic编译器自动创建一个私有字段存储这个属性的变量,此外还创建相关的"Get"和"Set"步骤. 采用自动执行的属性

在团队开发环境中使用 Visual Studio .NET (二)

脱机时签入文件 不可能在脱机时签入文件:因为您未连接到网络,签入命令未启用.这是故意设置的,这样可以在项目重新联机时方便地查看哪些文件在脱机时被签出. 进入联机状态 这与进入脱机状态基本上相同.若要使解决方案及其项目联机,请在"File"菜单上,单击"Source Control",然后单击"Change Source Control...".显示的对话框与进入脱机状态时相同.选择"Connected"即可使解决方案和项目联机

在Visual Studio.NET中使用自定义插件最大化您的生产力(三)

visual|最大化 插件是怎么工作的? 在前面章节中给你们演示的InsertDate代码是相当简单的,而且自动完成功能让人感觉不可思议. 我将从对象浏览器开始(Object Browser)开始,因为他能够非常容易的让我们学习对象所以他是一非常好的助手.你可以在你要查看的对象上单击右键然后选择转到定义(Go To Definition)来快事的查看类的成员.最终结果参看图4,你可以在列出的成员中查看任何一个成员的原型,或则选择一个成员按F1访问在先帮助. 图4 对象浏览器 applicatio