my_header.h:
void MyFunction() {
// 函数实现
}
main.cpp:
#include "my_header.h"
#include "my_header.h"
int main() {
MyFunction(); // 正常编译,没有重复定义的错误
return 0;
}
通过使用宏定义进行保护,每个头文件只会被包含一次,避免了重复定义的错误,而不会导致编译错误。
修改后的my_header.h:
#ifndef MY_HEADER_H_
#define MY_HEADER_H_
void MyFunction() {
// 函数实现
}
#endif // MY_HEADER_H_