foo
私はそう宣言された整数を含む名前空間を持っていますbar
...
foo.h:
namespace foo {
int bar;
}
ここで、1 つのファイルにのみ含めるfoo.h
と、これは問題なく機能します。foo.h
しかし、 2 つ以上のファイルからインクルードすると問題が発生します。リンカ エラーが発生します。bar
として宣言すると、複数のファイルstatic
に含めることができることがわかりました。foo.h
名前空間内で静的変数を宣言できることを知らなかったので、これは奇妙に思えます。(それは一体何の意味ですか?)
なぜこれが機能するのですか?さらに重要なのは、なぜそれがないと機能しない static
のですか? static
で使われるとはどういう意味ですかnamespace
?