名前空間の非静的変数対静的、...そう宣言は、私は、名前空間の整数<code>bar</code>が含まれている<code>foo</code>を持って
がfoo.h:今、私は一つだけでfoo.h
を含む場合
namespace foo {
int bar;
}
ファイル、これは正常に動作します。しかし、2つ以上のファイルからfoo.h
を含めると問題が発生します。リンカーエラーが発生します。 bar
をstatic
と宣言すると、foo.h
を複数のファイルに含めることができます。名前空間の中に静的変数を宣言することができないことに気づいていなかったので、これは私にとっては奇妙なことです。 (それはどういう意味ですか?)
これはなぜ機能しますか?さらに重要なのは、なぜがでないのですかstatic
なし? namespace
で使用される場合、static
の意味は何ですか?
Upvote。正確に私の問題だったとそれを解決した:) –