Синтаксическая ошибка: ] (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()
→ Ссылка