首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

numeric_limits的max有关问题

2012-07-31 
numeric_limits的max问题。std::numeric_limitsshort::max()这样用是错的。(std::numeric_limitsshort::

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函数,而不是先找到全局的定义啊,根本就不会产生冲突才对。

不明白。

热点排行