这一行在一个小的测试程序中工作正常,但在我想要它的程序中,我得到了以下编译器的抱怨:
#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);?
https://stackoverflow.com/questions/1904635
复制相似问题