本文主要是介绍vs编译std::numeric_limits::max()编译错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天使用了一下STL中的z数值极限竟然编译不过,
std::numeric_limits::max()
出现如下错误:
warning C4003: “max”宏的实参不足
error C2589: “(” : “::”右边的非法标记
error C2589: “(” : “::”右边的非法标记
google了一下,原来是需要把max用括号括起来避免和windows定义的宏混淆
(std::numeric_limits::max)()
因为Windef.h中定义了
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
所以会产生编译错误
这篇关于vs编译std::numeric_limits::max()编译错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!