声明定义R-1-1-5强制
禁止重复定义宏
例外:
- 不同编译条件中的定义
- 删除后的再定义
重复定义宏
test.cpp
1#define FOO 12#define FOO 2禁止重复定义宏 [gjb8114-r-1-1-5]
删除后重新定义的宏
test.cpp
1#define FOO 12#undef FOO3#define FOO 2
#endif 之后的重复定义宏
test.cpp
1#define FOO 12#if !defined(FOO)3#define FOO4#endif56#define FOO 2禁止重复定义宏 [gjb8114-r-1-1-5]
不同条件分支中的重复定义宏
test.cpp
1#if 12#define FOO 13#else4#define FOO 25#endif
重复执行的条件分支中的重复定义宏
test.cpp
1#if defined(PRESET_FOO)2#define FOO 13#else4#define FOO 05#endif67#if defined(BAR)8#define FOO 39#else10#define FOO 4禁止重复定义宏 [gjb8114-r-1-1-5]11#endif