friend Fraction operator=(const Fraction &newfraction) {
Fraction changedfraction;
changedfraction.numerator = newfraction.numerator;
changedfraction.denominator = newfraction.denominator;
changedfraction.simplify(changedfraction.numerator,
changedfraction.denominator);
return (changedfraction);
}
-11
A
回答
3
帶簽名Fraction operator=(const Fraction &newfraction)
的賦值運算符必須是成員函數。 A friend
功能不是會員。所以參數的數量與賦值所需的數量不匹配。刪除friend
並確保它被聲明爲成員函數。
struct Fraction
{
Fraction& operator=(const Fraction &newfraction) { .... }
....
};
另請注意,傳統上賦值運算符返回對*this
的引用,而不是值。
+0
非常感謝你juan。我解決了錯誤,但是當我從main調用它時,它會給我一些任意的數字。我不能採取正確的結果 – Can
+0
@可以你的實現必須是越野車然後。 – juanchopanza
相關問題
- 1. 我剛剛下載StdDraw3D.java,我想嘗試運行它...但它給這些錯誤
- 2. 我想創建一個表,但它給我一個錯誤
- 3. 我想創造一個表,但它給了我錯誤1046
- 4. 在C++運算符重載是給我一個錯誤
- 5. 我試圖運行此程序GreetingClient但它給我的錯誤
- 6. 如何在c#中重載一元運算符=。它給錯誤
- 7. 我想在瀏覽器中加載我的servlet,它給了我這個錯誤
- 8. 我想檢查並運行下面的代碼,但它給了我預期的錯誤標識符
- 9. C++模糊運算符過載錯誤
- 10. 錯誤的運算符()過載調用
- 11. C++過載運算符<錯誤
- 12. 我想在MARS MIPS中劃分,但它給了我錯誤的答案
- 13. 我想建立使用maven項目 - 「MVN全新安裝」,但它給我錯誤
- 14. 運算符重載錯誤?
- 15. 我想創建表,但它顯示我2錯誤,我如何解決它?
- 16. 我想計算一個字符串的長度,但我得到通知錯誤
- 17. 減號運算符在mysql中給我錯誤
- 18. 它給了我錯誤
- 19. 我想創建一個計算器,但它不會給我任何結果
- 20. 我想運行我的流星應用程序,但它給了一堆的錯誤
- 21. 我想將日期參數傳遞給我的存儲過程。但它不適合我。它向我返回一個錯誤。我將如何解決它?
- 22. 我(想)我想使用BItWise運算符來檢查useraccountcontrol屬性!
- 23. 爲什麼我的編譯器給出錯誤,當我重載增量運算
- 24. 我跑intelhaxm-android.exe,它給了我錯誤
- 25. []運算符的運算符過載
- 26. 我想在textview中獲取JSON數據,但它給出了一個錯誤
- 27. 我想用PHP來顯示列的總和,但它給我0
- 28. 我想檢查網絡狀態,但它給我nullPointerException爲什麼?
- 29. 我想創建CustomCell但它給一些錯誤,如何解決它?錯誤描述如下
- 30. 我想將一個輸入變量傳遞給另一個頁面,但它帶給我一個錯誤
**什麼**錯誤? –
這是一個賦值運算符的非正則版本。賦值運算符只應該做一件事,一件事就是創建一個傳入的對象到一個現有對象的副本。它不應該執行諸如「簡化」的「業務邏輯」。 – PaulMcKenzie
@PaulMcKenzie:我不同意。如果我們假設「簡化」不會在語義上改變正在分配的「值」,只是優化它的表示,那麼調用它就絕對沒問題。這就像'std :: string'在'swap'上修剪它的容量。它不是「業務邏輯」(討厭這個詞!)。 OP函數的真正問題在於它是一個非成員操作符,它僅僅佔用一個操作數,甚至不會將任何東西分配給應該是LHS操作數的東西。 –