您现在的位置是:首页» windows系统» c++标准库界面,c++标准库文件操作

c++标准库界面,c++标准库文件操作

2024-07-13 12:43:25
本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。在h的C++源代码中使用std::min/std::max时出现错误。原因是Windef。 min/max 宏在h 标题文件

本内容由系统网小编为大家分享,Windows系统安装教程、办公系统、软件怎么使用、软件使用教程、办公软件攻略等信息。

在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

XTw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com