У меня есть файл header (только) file constants.h, где я определяю все постоянные переменные, которые будут использоваться позже в библиотеке. Однако есть одна переменная, которую я хотел бы определить во время выполнения в файле реализации. Я пытался сделать что-то вроде этого:инициализация времени выполнения a const
constant.hpp
extern const unsigned int numTests;
где-то еще в run.cpp
const unsigned int numTests = 10;
, а затем еще один файл tester.cpp использует
if (n < numTests) {
// do something
}
Теперь, когда я скомпилирую его, я получаю ошибку компоновщика в tester.o как undefined symbol numTests. Я понимаю, почему это происходит: tester.cpp включает константы.hpp, а не run.cpp, и поэтому он не может найти константу numTests, инициализированную в run.cpp.
Есть ли лучший способ сделать это?
ТИА, Нихилу