今天使用了一下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
所以会产生编译错误
本文介绍了一个关于使用STL中的数值极限函数时遇到的编译错误问题。问题出现在尝试调用std::numeric_limits::max()时,由于Windows预定义的max宏导致编译失败。解决方案是通过添加额外的括号来避免与Windows宏冲突。
273

被折叠的 条评论
为什么被折叠?



