C++宏可以被多次重新定义吗?

比如:
#difine A 10
#difine A 20

不可以,只能这样:
#ifndef A
#define A 10
#endif

....
如果需要重新定义,要这样,先取消定义,再重新定义:
#ifdef A
#undef A
#endif
...
#ifndef A
#define A 20
#endif
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-23
ANSI 标准C 支持重定义。不过编译时会警告。而且从编程的角度来说,重定义用途不大,如果需要改变一个值,建议使用变量而不是宏。
第2个回答  2010-07-23
不同文件里面可以。同一个文件里面会有冲突
相似回答