С вышесказанным довольно много неправильного.
Во-первых,
int findHotel([], string add)
[]
, как это недопустимый синтаксис. Полагаю, вы имели в виду
int findHotel(Hotel hotels[], string add)
, где Hotel
- это название класса вашего отеля (извините, я думаю, но вы не сказали, что это такое).
Во-вторых
if (hotels[i].getName() == na)
na
не объявлено, я не уверен, что вы имели в виду под этим. В любом случае ваши требования - это отелей, которые имеют более 10 номеров по указанному адресу . Это не имеет ничего общего с названиями отелей. Вам нужно что-то совершенно другое в вашем if
утверждении. Что-то вроде
if (hotels[i].getAddress() == add && hotels[i].getNumberOfRooms() > 10)
Опять же, я предполагаю, потому что вы не опубликовали определение класса вашего отеля, но что-то в этом роде.
Наконец
hotels[i].print();
печать отеля не так же, как возвращение отеля. Для новичков характерно путаться. Возврат означает, что функция должна возвращать данные вызывающей функции, а не распечатывать их. Таким образом, ваша функция должна быть изменена на вернуть , не печатать, все отели, которые имеют определенный адрес и более 10 номеров. Есть много разных способов сделать это, но этот ответ уже достаточно длинный, поэтому посмотрите на свою книгу по C ++, где объясняется, как возвращать значения из функций.
Самый простой способ - поместить отели в вектор и верни это.