首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >警告C4003和错误C2589和C2059 on: x= std::numeric_limits<int>::max();

警告C4003和错误C2589和C2059 on: x= std::numeric_limits<int>::max();
EN

Stack Overflow用户
提问于 2009-12-15 09:08:29
回答 5查看 22.4K关注 0票数 59

这一行在一个小的测试程序中工作正常,但在我想要它的程序中,我得到了以下编译器的抱怨:

代码语言:javascript
复制
#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 : '::'

我使用以下命令得到相同的结果:

代码语言:javascript
复制
#include <limits>
using namespace std;

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

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

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1904635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档