ожидается «,» или «...» перед «командой» и слишком много аргументов, чтобы функционировать проблема C ++ - PullRequest
0 голосов
/ 17 октября 2019

Я пытаюсь передать массив структур как const другой функции (потому что я не хочу ее изменять, просто отображаю ее), и объявление функции в заголовке ожидает ',' или a '. .. 'перед' командой 'в параметрах. Я также получаю еще одну ошибку, которую я не понимаю, когда я уже объявляю, сколько параметров требуется функции, и придерживаюсь этого, но компилятор говорит мне, что слишком много аргументов.

Я не могу избавиться от «команды» после Players в параметрах функции, потому что использование Players [] в качестве массива в функции, в которой я нуждаюсь, выдает ошибку. Избавление от 'team' предотвращает появление второй ошибки (слишком много аргументов), но выдает еще одну ошибку, error: ожидаемое первичное выражение перед '[' token ', поэтому вместо этого я вынужден использовать "Team []"«Player []» в принимающей функции.

int main()
{

    for(int i = 0; i < TEAM_SIZE; i++)
    {
        GetPlayerInfo(Players[i]);
    }
    cout << GetTotalPoints(Players, TEAM_SIZE);
    ShowHighest(Players, TEAM_SIZE);

    delete []Players;

    return 0;
}

int GetTotalPoints(const Player[] team, int size)
{
    int totalPoints;
    for(int j = 0; j < size; j++)
    {
        totalPoints = totalPoints + team[j].Points;
    }
      return totalPoints;
}


struct Player
{
    string Name;
    int playerNumber;
    int Points;
};

const int TEAM_SIZE = 12;

struct Player Players[TEAM_SIZE];
void GetPlayerInfo(Player& person);
void ShowInfo(const Player& person);
int GetTotalPoints(const Player[] team,  int size);
void ShowHighest(const Player[] team, int size);

Сообщения об ошибках включают «ожидаемые», или «...» перед «командой» и «слишком много аргументов для функции» int GetTotalPoints (constИгрок *) '

...