переменная extern вызывает ошибку множественного определения
Я пытался использовать extern для того, чтобы использовать переменную, которая была ранее определена.
Я раньше не использовал extern, и теперь мне нужно использовать его, чтобы определить переменную только один раз и использовать ее для нескольких файлов.
Я написал минимизированную версию кода для этого вопроса. У меня есть четыре файла
lib.h
#ifndef LIB_H
#define LIB_H
#include
namespace lib {
extern bool initialized;
bool initialized = false;
static void isInit(char* parent) {
std::cout < "Library for [" < parent < "] initialized? " < (::lib::initialized ? "yes" : "no") < "\n";
}
} // namespace lib
#endif