【发布时间】:2010-09-03 18:24:29
【问题描述】:
抱歉,这真的让我很困惑,我知道答案正盯着我看,我无法弄清楚。有人可以看看吗?它用于航空公司预订系统学校项目。
这个函数接受Flight Number、容量、数量的计数 航班,以及包含所有航班作为参数的向量。 它将检查以确保航班不存在,如果存在则错误 将显示消息,否则将创建航班。计数为 航班数量也将增加。
void newFlight( string f, string s, int* n, vector<Flight> *v)
{
Flight temp;
//Check to see if flight number exists
bool alreadyExist = false;
for (int i=0; i < v->size(); i++)
{
if (f.compare((v[i].getNumber()) == 0))
alreadyExist = true;
}
//If it doesn't exist, create it
if (!alreadyExist)
{
v->push_back (temp); //Add the new Flight object to the
//vector of flights
*n++; //Increase count
}
else
{
cout << "A flight numbered " << f << " already exists";
cout << ". Flight not created.\n";
}
};
我的问题是,当我尝试将已在向量中的航班与我尝试添加的航班进行比较时。在第 7 行,我不断收到此消息:
错误:
‘class std::vector<Flight, std::allocator<Flight> >’没有名为“getNumber”的成员
所讨论的向量是一个带有名为 getNumber() 的成员的 Flight 类的向量。我通过引用将向量传递给函数。所以 v 是一个指针,但我认为 [] 会处理这个问题。我也尝试使用 -> 运算符而不是点运算符,但它没有帮助。我不知所措,任何帮助将不胜感激。我比较生疏,夏天刚刚结束 :D 我也希望格式正确。
【问题讨论】: