原因分析:
根据错误信息,可能是源文件 a.cpp 和 b.cpp
中都包含了 c.h
头文件,并且在这个头文件中定义了多个函数和变量,导致了多次定义错误。
解决方法:
1:进行头文件保护。
如
#ifndef MY_HEADER_FILE_H
#define MY_HEADER_FILE_H// 这里放置头文件的内容#endif // MY_HEADER_FILE_H
2:头文件中只放函数声明,函数的具体实现放在对应的.cpp文件中
比如,报错是 multiple definition of funcA
那么在头文件中只留funcA的声明,具体的实现放在单独的c.cpp中
问题就可以得到解决了。