我有一個命名空間foo
其中包含一個整數bar
,宣佈所以...靜態VS在命名空間的非靜態變量
了foo.h:
namespace foo {
int bar;
}
現在,如果我有foo.h
只有一個文件,這工作得很好。但是當我從兩個或多個文件中包含foo.h
時出現問題:出現連接器錯誤。我發現如果我宣佈bar
爲static
,我可以在一個以上的文件中包含foo.h
。這對我來說似乎很陌生,因爲我不知道可以在名稱空間內聲明一個靜態變量。 (這是什麼意思?)
這是爲什麼?更重要的是,爲什麼不是它的工作沒有static
?當在namespace
中使用時,static
是什麼意思?
Upvote。是我的問題,並解決它:) – 2014-07-01 17:12:18