2016-10-06 50 views
-3

我一直在閱讀一本名爲C++ for dummies(第7版)的書,我正在閱讀關於類的章節。我決定嘗試使用類編寫我自己的程序,而且看起來比我找到的更容易。我遇到了這個持久性問題('預期不符合標識之前的'。'「標記),這還沒有消除我嘗試過的修復。看起來這個問題是程序特定的,所以我很好,它只會對我有幫助而關閉。這裏的代碼:之前預計的不合格id「。」代幣

class savings { 
public: 
    void Set_Pin(double pin) { 
     savings.pin = pin; // this is where the error is 
    } 
private: 
    int pin; 
    int username; 
}; 

我該如何解決這個錯誤? 感謝

+0

你必須使用http://en.cppreference.com/w/cpp/language/this – PRP

+0

這是一個有點奇怪的是,你的arg和這裏的成員名字相同,如果你將你的arg名稱改爲'p',那麼你可以在你的函數體內執行'pin = p;' – EdChum

+0

@EdChum我強烈建議不要使用無意義的名。這足夠了。 – RvdK

回答

1

您需要使用this

變化

savings.pin = pin; 

this->pin = pin; 
+0

是「這個」C++相當於python的「自我」 –

0

它應該是:

void Set_Pin(double pin) { 
    this->pin = pin; 
} 

而且這不應該是必要的,但由於與函數參數相同的命名,將是明智的,確實使用它,用戶更加清晰。

也關於風格。我會用大寫字母來使用開始類名。

+1

'this'是一個C++中的指針 –

+0

我的錯誤,有點太快,替換 – RvdK

0

「針」 是你的類的成員,所以你並不需要指定「儲蓄。引腳「,因爲從類」引腳「的角度直接指其成員。

此外,我建議你的名字Set_Pin的變量不同,如:

void Set_Pin(double aPin) { 
    pin = aPin; 
} 
相關問題