我有一个头文件(仅)文件constants.h,我定义了所有常量变量,稍后在库中使用。但是,有一个变量,我想在实现文件中定义运行时。我试图做这样的事情:运行时初始化常量
constant.hpp
extern const unsigned int numTests;
其他地方在run.cpp
const unsigned int numTests = 10;
和,然后另一个文件tester.cpp使用
if (n < numTests) {
// do something
}
现在,当我编译它时,我将tester.o中的链接器错误显示为未定义的符号numTests。我有点理解为什么会发生这种情况:tester.cpp包含constants.hpp而不是run.cpp,因此它无法找到在run.cpp中初始化的常量numTests。
有没有更好的方法来做到这一点?
TIA, 尼基尔