我有一個單例類。我想爲結構成員分配一個值。但編譯器拋出錯誤爲A nonstatic member reference must be relative to a specific object
。 請幫幫我,如何解決同樣的問題。非靜態成員引用必須與特定對象有關Singleton類C++
class abc{
static abc* m_selfInst;
public:
struct abcd{
int a;
}abcd;
abc* GetInstance();
};
abc* abc::m_selfInst = NULL;
abc* abc::GetInstance()
{
if(m_selfInst == NULL)
{
m_selfInst = new abc();
}
return m_selfInst;
}
int main()
{
abc *ab = abc::GetInstance(); //Error Occurs here
abc::abcd.a = 5; //Error occurs here too
//cout <<ab.abcd.a << "\n";
return 0;
}
當我使結構體爲'typedef struct'的時候,我無法從主體訪問結構體名稱,那我該怎麼辦? – 2013-04-22 07:15:18
@RasmiRanjanNayak名稱結構當然。 – ForEveR 2013-04-22 07:18:35
: - 下拉列表中缺少類名,編譯器拋出一個錯誤,因爲「類型名稱不被允許」。例如,'typedef struct abcd {...} ;. 'main(){ab-> abcd.a = 5;}'。在abcd中,錯誤即將發生,'type name is not allowed' – 2013-04-22 07:19:41