переменная 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

Ответы на вопрос(1)

Ваш ответ на вопрос