[英]Error C4716 'Party::operator+': must return a value
Party Party::operator + (const Party& party2)
{
Party newParty;
newParty.maxAttendees = maxAttendees + party2.maxAttendees;
newParty.numAttendees = numAttendees + party2.numAttendees;
for (int c = 0; c < getNumAttendees(); c++)
newParty.attendees[c] = attendees[c];
for (int c = numAttendees, d = 0; c < party2.numAttendees; c++, d++)
newParty.attendees[c] = party2.attendees[d];
if (date.compare(party2.date) == 0)
newParty.date = date;
if (location.compare(party2.location) == 0)
newParty.location = location;
if (organizer.compare(party2.organizer) == 0)
newParty.organizer = organizer;
}
它是說 Party::operator+ 必須返回一個值。 我嘗試返回party2
、 newParty
等,但我得到更多錯誤。
這個錯誤就是它在錫上所說的; 由於您聲明它返回一個Party
,您需要在 function 的末尾返回一個值:
Party Party::operator + (const Party& party2)
{
// Some implementation...
return newParty;
}
無論如何不返回一個值是沒有意義的,因為加法通常會產生某種新的值。
注意:您可能需要考慮將 function 也設為const
,因為您的參數是 const:
Party Party::operator + (const Party& party2) const
{
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.