宏定义引发的困惑
2015-05-27 09:58 CN-Phoenix 阅读(279) 评论(0) 编辑 收藏 举报最近使用一个开源库,代码中使用的名称为min和max的两个函数与WinDef.h里定义的相同名称的宏定义冲突,
提示各种离奇错误。最后使用了NOMINMAX的预处理器定义解决此问题。说明:宏定义虽方便,不能滥用。
- #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 */