U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

【C++】标准库 std::min/std::max 与 Windows 头文件中的宏 min/max 冲突问题 err

来源:http://www.tudoupe.com时间:2022-06-11

在h的C++源代码中使用std::min/std::max时出现错误。

原因是Windef。 min/max 宏在h 标题文件中定义:

由于在C++标准库之前,Windows头文件中的两个函数的定义出现,所以这不应该是微软的锅。根据上面的定义,如果Windows包含在C++项目.h中,那么,好的建议是 #define NOMINMAX,避免定义min/max,这个宏可以在项目属性中直接定义。

另一种方法是括号 std::min/std::max。

我不完全确定为什么这个方法有效(我没有寻找具体的标准),但我可以简单地说,根据最小/最大的宏观定义,它被定义为函数替换,而不是仅仅是一个标识符替换。

参考:

标准库 std::min/std::max Macro 问题解决 min/max 与 Windows 标题文件冲突 - 跟她一起去 (twofei.(com)

  • c++ - std::max - expected an identifier - Stack Overflow
  • c++ - How do I deal with the max macro in windows.h colliding with max in std? - Stack Overflow
  • c++ - why would I call a function with the function name wrapped in parens? - Stack Overflow

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息