我的目標是重載'+'運算符,以便我可以組合Paragraph對象和Story對象。此功能應該返回一個新的故事對象與附加到開頭的段落。重載運算符C++:錯誤:沒有可行的重載'='
Story Paragraph::operator+(const Story& story) {
Paragraph paragraph;
Story stry;
Paragraph storyPara = story.paragraph;
Sentence paraSentence = storyPara.sentence;
paragraph.sentence = this->sentence + paraSentence;
stry.paragraph = paragraph;
return stry;
}
然而,當我跑我的所有代碼(A故事的對象應該有一個段落。段落對象應該有一個句子,一個句子對象應該有一個字,等),我得到這個錯誤:
錯誤:沒有合適的重載 '='
當我嘗試做下面的行會發生此:
paragraph.sentence = this->sentence + paraSentence;
我不太確定如何將句子加在一起組成一個段落(最終形成&返回一個新的故事)。有誰知道如何解決這個問題?
_「你可以假設我所有的類都被正確定義了」_如果這是真的,你就不會有錯誤... –
'Sentence'類是否有複製構造函數或重載的'='運算符? – yizzlez
什麼問題?我們看不到任何相關的代碼。出示您在過去幾天內一直在調試該問題的[最小測試用例](http://stackoverflow.com/help/mcve)。 –