簡體   English   中英

在 C++ 中具有類和向量變量的函數

[英]Function with classes and vectors variables in c++

我有一個名為 Party 的類,它包含一個名為 player 的私有變量,它是類型向量,sting。

class Party
{
    vector <string> players;

    public: 
    Party (string party_name, string boss)  {}; 
    ~Party() {};        

    vector<string> getNames() { return players; };

    void setNames (const vector<string> &new_players) { players=new_players; }

}

我想編寫一個朋友函數,它將顯示變量 P(具有“名稱”變量是私有的 aslo 類)是否是派對的一方。

void part_of_party (Party &party, P name)
{   
    bool found=false;

    for (int i=0; ( found==false && i<party.name.size() ); ++i)
    {
        if ( (party.name[i]).compare(name.getName()) == 0)
        {
            found==true;
        };
    }

    if (found==true) { /// }
    else { //// }
}

編譯器不顯示任何錯誤,但屏幕上沒有打印任何消息(正如它應該的那樣)。

你有什么主意嗎? 謝謝你。

我猜問題是這個

found==true;

這應該是

found=true;

通常,新手得到這個錯誤的其他方式,他們用=時,他們應該使用== ,但你已經使用==時,你應該使用(平等) = (轉讓)。 你的編譯器應該已經警告過你了。 注意編譯器警告,它會為您節省大量時間和挫折。

此外,不是錯誤,而是

if (party.name[i] == name.getName())

是一種更明顯的寫作方式

if ( (party.name[i]).compare(name.getName()) == 0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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