标准库std::min/std::max与min/max宏冲突

来源:互联网 发布:国家地震数据共享中心 编辑:程序博客网 时间:2024/05/16 09:11

如题,因为windef.h中定义了maxmin宏:

#ifndef NOMINMAX#ifndef max#define max(a,b)            (((a) > (b)) ? (a) : (b))#endif#ifndef min#define min(a,b)            (((a) < (b)) ? (a) : (b))#endif#endif  /* NOMINMAX */

工程中如果包含了windows.hwindef.h头文件,再使用c++标准库std::minstd::max,就会发生编译错误。

解决的办法就是定义NOMINMAX宏,一般是在工程配置中定义。

原创粉丝点击