阅读量:142
在使用#ifndef时常见的错误有:
- 忘记包含
#endif,导致未关闭#ifndef的条件编译指令。
#ifndef MY_HEADER_H
#define MY_HEADER_H
// code here
- 定义
#ifndef时,宏名错误或者不一致。
#ifndef MY_HEADER_H
#define ANOTHER_HEADER_H
// code here
#endif
- 在同一个文件中重复定义
#ifndef。
#ifndef MY_HEADER_H
#define MY_HEADER_H
// code here
#ifndef MY_HEADER_H
#define MY_HEADER_H
// code here
#endif
- 在头文件中嵌套
#ifndef,导致混乱的条件编译逻辑。
#ifndef MY_HEADER_H
#define MY_HEADER_H
#ifndef ANOTHER_HEADER_H
#define ANOTHER_HEADER_H
// code here
#endif
#endif
避免这些常见错误可以通过仔细检查#ifndef和#endif之间的闭合关系,以及确保宏名的一致性。