读书人

numeric_limits的max有关问题

发布时间: 2012-07-31 12:33:46 作者: rapoo

numeric_limits的max问题。
std::numeric_limits<short>::max()这样用是错的。
(std::numeric_limits<short>::max)()这样用是对的。

VC2005中的头文件中定义为
static _Ty (__CRTDECL max)() _THROW0()
{// return maximum value
return (SHRT_MAX);
}
有人说是为了避免和windows定义的宏混淆,我加了类名来调用的,应该先找到类的max函数,而不是先找到全局的定义啊,根本就不会产生冲突才对。

不明白。

[解决办法]

引用楼主 unique_man 的帖子:
std::numeric_limits <short>::max()这样用是错的。
(std::numeric_limits <short>::max)()这样用是对的。

VC2005中的头文件中定义为
static _Ty (__CRTDECL max)() _THROW0()
{ // return maximum value
return (SHRT_MAX);
}
有人说是为了避免和windows定义的宏混淆,我加了类名来调用的,应该先找到类的max函数,而不是先找到全局的定义啊,根本就不会产生冲突才对。

不明白。

读书人网 >C++

热点推荐