[英]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.