我第一次在一个项目中使用多个 C++ 文件。两者都需要包含受保护的 (#ifndef) 头文件。但是,当我这样做时,会出现多重定义错误。
我有两个直接调用标头的 .cpp 文件,一个间接调用(另一个包含它),然后是另外两个包含它的头文件。
那么我需要做些什么来摆脱错误呢?
错误:
obj\Debug\main.o||在函数
Z14sortLibQtyTest4BookS_':| [PATH]\miscFuncs.h|16|multiple definition of
sortLibQtyTest(Book, Book)'
代码:
bool sortLibQtyTest(Book a, Book b){ return a.getQty() > b.getQty(); }
应该提到的是,这不是唯一给我带来问题的功能,可能有十多个,而且有些不是那么简短和甜蜜。此外,多个文件中需要这些功能。