std::numeric_limits::max() error C2589: '(' : illegal token on right side of '::' 解决办法

int max =std::numeric_limits<int>::max();
     根据错误提示:web

f:\code\cpp\webspider\main.cpp(47) : warning C4003: not enough actual parameters for macro 'max'
f:\code\cpp\webspider\main.cpp(47) : error C2589: '(' : illegal token on right side of '::'
f:\code\cpp\webspider\main.cpp(47) : error C2059: syntax error : '::'
缘由: STL的numeric_limits::max()和VC6 min/max 宏冲突问题

问题应该是以上两个头文件的宏定义出现了冲突。ide

解决: 经过括号“()”来避免预编译器报错。int max = (std::numeric_limits<std::streamsize>::max)();   便可。
相关文章
相关标签/搜索