4
C++強制程序員在類外部定義一個非常量靜態成員,我一直看到的原因是,如果靜態成員是在類中定義的,則會導致靜態成員有多個定義。我知道有一個靜態成員的多個定義有 是不好的,但我不明白這些多個定義甚至會來自何處。不應該初始化非常量靜態成員 只是在數據部分去,這是唯一的定義?爲什麼非常量靜態成員有多個定義?
struct Student {
static int x = 4; // Why would this result in multiple definitions?
};
另外,我在其他計算器後閱讀量靜態成員簡單地聯到代碼無論在何處使用: Why can't I have a non-integral static const member in a class? 是由預處理器與所有其他指令處理一起? (如果需要,我會在另一個帖子中提問,但我不確定它是否值得單獨發佈)。
您能否提供一個這樣的例子? – Kacy
好吧,成員聲明根本就不是一個定義... –
我假設OP在詢問爲什麼構造是非法的 – sehe