如何從Flight中檢索對象以與主輸入(flightNumber)進行比較?我如何在main中聲明屬性類型?按值向量刪除矢量中的元素
當我編譯時,顯示錯誤消息:invalid conversion of 'int' to '*Flight*'
在agent1.delete(flightNumber);
。
class Flight
{
int FlightNumber
};
class TravelAgent
{
vector <Flight *> flightList;
};
void Agent::delete(Flight *obj)
{
vector<Flight*>::iterator ptr;
for(ptr=flightList.begin();ptr!=flightList.end();ptr++)
{
if((*Ptr)==obj)
{
flightList.erase(ptr);
break;
}
}
if ((ptr) == flightList.end())
{
cout<<"Flight not found"<<endl;
}
}
int main
{
Agent agent1;
int flightNumber;
cout<<"Enter the number of the flight: "<<flush;
in>>flightNumber;
agent1.delete(flightNumber);
}
哪裏有'fPtr'如果條件之前被聲明的第二個?另外,錯誤在哪一行? – therainmaker
'flightNumber'是一個int,你試圖將它傳遞給''Agent :: delete'方法,它接受一個'Flight *'參數而不是一個int。 –
@MohamadElghawi是的,我知道這一點。那麼,我的問題或任何類似的參考可以有任何可能的解決方案嗎? –