Синтаксическая ошибка: ] (C++)
Необходимо создать дружественную функцию, которая будет выводить данные о тех автобусах, которые прибудут в место назначения раньше заданного времени.
Есть класс Bus, в котором я объявил дружественную функцию:
class Bus { //Создаём класс для автобусов
private:
...
friend void showBuses(int, Bus*, Time); //Объявление дружественной функции
...
При вызове этой функции в программе возникает ошибка.
Вызов функции:
showBuses(amount, *massiv[], arrivalTime); //вызов дружественной функции
*massiv[] - указатель на массив объектов класса Bus. В списке ошибок выводится "синтаксическая ошибка: ]", при этом подчёркивается символ ] в вызове функции.
Не знаю, понадобится ли, но вот определение этой функции:
void showBuses(int amount, Bus* massiv[], Time arrivalTime) {
for (int i = 0; i < amount; i++) {
if ((massiv[i]->getArrHour() < arrivalTime.hour) || ((massiv[i]->getArrHour() == arrivalTime.hour) && (massiv[i]->getArrMinute() < arrivalTime.minute))) {
massiv[i]->GetBus();
}
}
}
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
Если у вас
Bus* massiv = new Bus[amount];
то объявлять функцию надо как
void showBuses(int amount, Bus* massiv, Time arrivalTime)
и передавать в нее просто massiv
showBuses(amount, massiv, arrivalTime);
А в самой функции работать не через ->
massiv[i]->getArrHour()
а
massiv[i].getArrHour()