代码之家  ›  专栏  ›  技术社区  ›  osgx

取消定义宏这样的函数

  •  12
  • osgx  · 技术社区  · 15 年前

    C++有2种宏:

     #define ABC   /* usual */
    

     #define FUNC(a)  /*function-like*/
    

    但我怎样才能定义它们呢?

    更新:那么取消定义“类常量宏”和“类函数宏”没有区别?

    2 回复  |  直到 9 年前
        1
  •  24
  •   In silico    15 年前
    #undef ABC
    #undef FUNC
    

    #undef "cancels" out a previous #define . 结果就好像你从未有过前科 #定义 对于特定标识符。请注意 s不尊重范围,所以最好只在需要时使用它们。

    #define ABC #define ABC(A) ABC . 如果你两者都有,没有 如果对其中一个进行修改,最新的一个将“覆盖”另一个(如果发生这种情况,某些编译器可能会发出警告。)

        2
  •  13
  •   mtvec    15 年前
    #undef ABC
    #undef FUNC