我知道它可能看起來像這樣以前已經問過,但我環顧四周,static
方法不適用於我。這裏是我的代碼:不能調用成員函數std :: string class :: function()without object
struct Customer {
public:
string get_name();
private:
string customer,first, last;
};
這裏就是我所說的功能:
void creation::new_account() {
Customer::get_name(); //line it gives the error on.
}
下面是一些代碼,編譯罰款的例子。
struct Creation { public: string get_date(); private: string date; };
然後我把它以同樣的方式
void Creation::new_account() { Creation::get_date();}
因此我的困惑,爲什麼一個工程和其他沒有。
編輯:好的我明白了,我只是意識到我正在調用一個函數定義中的另一個結構的函數,這是另一個類的一部分。我明白了,謝謝所有回答
它**不** *靜態*,你應該把它通過一個對象。 – Maroun
正如所指出的那樣,你錯過了將函數聲明爲靜態的,因此錯誤。你可以把原來的代碼放在「靜態」不適合你的地方嗎? – NotAgain
@NotAgain肯定是這個'struct客戶{ public: static string get_name(); 私有: 串客戶,第一,最後; };' – Shilaly