vs编译std::numeric_limits::max()编译错误(转载)

原文地址:https://blog.csdn.net/tanningzhong/article/details/52890792

 

今天使用了一下STL中的z数值极限竟然编译不过,
std::numeric_limits::max()
出现如下错误: 
warning     C4003:     “max”宏的实参不足       
error     C2589:     “(”     :     “::”右边的非法标记
 
google了一下,原来是需要把max用括号括起来避免和windows定义的宏混淆
(std::numeric_limits::max)()
 
因为Windef.h中定义了
#ifndef max
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif
所以会产生编译错误


--------------------- 
作者:老衲不出家 
来源:CSDN 
原文:https://blog.csdn.net/tanningzhong/article/details/52890792 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(编程)