微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c预处理器 – 取消定义类似功能的宏

在C/C++中有两种类型的宏:
#define ABC   /* usual */

UND

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

但是我怎么不定义他们?

更新:所以没有区别“定常的宏”和“类似宏的功能”?

解决方法

#undef ABC
#undef FUNC

效果就好像你从来没有一个特定标识符的#define.请注意,#define不尊重范围,所以最好只在需要时使用它们.

另外请注意,如果一个宏标识符使用“通常”语法,而另一个使用“类似函数”的语法则无关紧要. #define ABC和#define ABC(A)都定义了一个名为ABC的宏.如果你有两个,没有#undefing其中之一,最新的一个“覆盖”另一个. (如果发生这种情况,一些编译器可能会发出警告)

原文地址:https://www.jb51.cc/c/114327.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐