Я пытаюсь получить доступ к значению строки в массиве объектов. Строка используется для создания исходного объекта.
У меня есть класс Camper, у которого есть конструктор Camper (строковое имя);
Затем я создал массив из моего класса Camper. Я хочу написать оператор if, который перехватывает строку 'name' для сравнения со строкой, введенной пользователем.
Мои ошибки:
E0711 выражение должно иметь тип bool (или быть конвертируемым в bool)
Условное выражение C2451 типа 'Camper' недопустимо
Я уверен, что ошибки относятся к одной и той же проблеме.
Я очень новичок в C ++, поэтому дайте мне знать, если вы видите что-то еще, что не имеет смысла для вас, или если это просто невозможно. Благодаря.
void addPayment(Camper arr[]) {
string name;
cout << " What is the camper's name? ";
cin >> name;
Camper c = Camper(name);
for (int i = 0; i < sizeof(arr); ++i) {
if (arr[i] == c) { // Here is where I have the bug
c.pay(); // What should I use instead of arr[i]?
}
}
cout << " " << name << " has paid.";
}