簡體   English   中英

錯誤 C4716 'Party::operator+': 必須返回一個值

[英]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+ 必須返回一個值。 我嘗試返回party2newParty等,但我得到更多錯誤。

這個錯誤就是它在錫上所說的; 由於您聲明它返回一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM