Я пытаюсь передать массив структур как 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Игрок *) '