比方說,我有一個包含有公共靜態方法和私人靜態成員/變量的簡單類.HPP文件。 這是一個例子類:C++從公共靜態方法訪問私有靜態成員?
class MyClass
{
public:
static int DoSomethingWithTheVar()
{
TheVar = 10;
return TheVar;
}
private:
static int TheVar;
}
當我打電話:
int Result = MyClass::DoSomethingWithTheVar();
我會認爲 「結果」 等於10;
相反,我得到(在線路10):
undefined reference to `MyClass::TheVar'
線10是 「TheVar = 10;」從該方法。
我的問題是,如果它可以從一個靜態方法(DoSomethingWithTheVar)訪問私有靜態成員(TheVar)?
它什麼都沒有做訪問或私有性。它與「TheVar」的定義無關。它只被宣佈。 – sehe