宏定义和函数重名的处理

比如有如下代码:

int x=std::min(a,b);

编译时报错,原因是min是一个宏定义,是windows sdk里面的;代码是正确的,而且是从别处复制过来的,我们不想改这个代码,怎么办呢?

可以这样

#ifdef min
#undef min
#endif

等于在后面的编译过程中取消了min的宏定义。

发布于 2020-07-30 17:37

文章被以下专栏收录