C/C++解决宏定义冲突的问题

本文最后更新于:2022年5月29日 上午

问题

平时在编写C/C++程序过程中,偶尔会出现重复宏定义的情况。比如:A文件中有宏定义 MAX,B文件中也有宏定义 MAX,但是还需要包含文件A,这个时候就会发生宏定义冲突问题。

处理方法

  1. 修改其中一个文件的宏定义名称,但如果是大型项目工程的话不推荐,可能会引起其他问题。

  2. 使用下面代码段即可完美解决

    1
    2
    3
    4
    5
    6
    7
    #include "A"

    #ifdef MAX //如果已经定义了MAX
    #undef MAX //取消宏定义
    #endif

    #define MAX //宏定义新的MAX

C/C++解决宏定义冲突的问题
https://kevinloongc.github.io/posts/f83bec93.html
作者
Kevin Loongc
发布于
2021年3月17日
许可协议