Извините, но это действительно сбивает меня с толку, и я знаю, что ответ смотрит мне в лицо, и я не могу понять это. Может ли кто-нибудь взглянуть? Это для школьного проекта системы бронирования авиабилетов.
Эта функция принимает номер рейса, вместимость, количество
полеты, и вектор, содержащий все полеты в качестве аргументов.
Он проверит, чтобы убедиться, что рейс не существует, если есть ошибка
сообщение будет отображаться, если не будет создан полет. Количество для
количество рейсов также будет увеличено.
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' '
Вектор, о котором идет речь, является вектором с классом Flight, в котором есть член с именем getNumber (). Я передаю вектор в функцию по ссылке. Так что v это указатель, но я думал, что [] позаботится об этом. Я также пытался использовать оператор -> вместо оператора точки, но это не помогает. Я в растерянности, любая помощь будет оценена. Я относительно ржавый, лето только что закончилось: D Также я надеюсь, что это отформатировано правильно.