如何解决—— warning C4003 and errors C2589 and C2059 on: x = std::numeric_limits::max();?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (100)

该行在一个小测试程序中正常工作,但在我想要的程序中,我得到以下编译器报错:

#include <limits>

x = std::numeric_limits<int>::max();

c:\...\x.cpp(192) : warning C4003: not enough actual parameters for macro 'max'
c:\...\x.cpp(192) : error C2589: '(' : illegal token on right side of '::'
c:\...\x.cpp(192) : error C2059: syntax error : '::'

我得到相同的结果:

#include <limits>
using namespace std;

x = numeric_limits<int>::max();

为什么它将max看作宏max(a,b); ?

提问于
用户回答回答于

当包含定义一个min或一个max宏的Windows头时,通常会发生这种情况。如果你使用的是Windows头文件,请#define NOMINMAX输入你的代码,或者使用等效的编译器开关构建(即使用Visual Studio的/ DNOMINMAX)。

请注意,NOMINMAX在整个程序中禁用宏的构建。如果你需要使用minmax操作,请使用std::min()std::max()<algorithm>标题中。

热门问答

请问bugly上报的服务器是在哪?如果要发行海外版本,能把上报服务器调成海外吗?

扩展能力之云调用,小程序端出错:[tcb-js-sdk]参数错误:非法的应用标识?

software微软、谷歌、腾讯、阿里、百度……
推荐
您好,appSign必须是小程序的appid,appSecret的两个字段必须是在云开发控制台-安全来源里配置过的。 image.png ... 展开详请

serverless db 如何管理?

Richel码农
推荐
1.支持pg_dump,psql工具进行数据导入和导出。 2.本地CLI,可以使用postgresql的客户端psql,也可以使用dbeavr,navicate,pgadmin等工具访问。 3.支持操作DB ,要自己写逻辑 ... 展开详请

游戏联机对战引擎实时服务器怎么请求外部接口?

您好,实时服务器支持http访问内网,需要在实时服务器内下载request模块,同时把node_modules文件夹压缩打包上传发布实时服务器。

对象存储, 版本控制,没有提供对象的历史版本列表的查询API吗?

安卓APP使用免费版加固后,在Android11系统上运行闪退,是什么原因?

hello,目前已经适配了Android R Beta1,预计这周内上线移动应用安全在线版,请留意日志更新

所属标签

扫码关注云+社区

领取腾讯云代金券