Hello guys. Could you explain me why arrays Games[], Victories[], Losses[] doesn't save parameters, please? In function Play() they write their parameters, but in function main() their parameters = 0. It correct working if I write them as globals, but why I should do this, if arrays passed by reference?
P.s. i deleted functions menu() and HowToPlay, because there was little space for the message

const short RECORD, short Date[], short Games[], short Victories[], short Losses[])
{
    cout << "\t\t\t Statistic"
            "\n\t Game \t\t Victory \t Lose";
    for (int i = 0; i < Date[0]; i++)
    {
        cout << "\n\t  " << Games[i] << " \t\t   " << Victories[i] << " \t\t " << Losses[i];
    }
    cout << "\n All \t  " << Date[0] << "\t\t    " << Date[1] << "\t\t   " << Date[2] << endl
         << endl;
}
void main()
{
    const short AMOUNT_MAX = 50;
    const short RECORD = 3; // Games, Victories, Losses
    short Date[RECORD]{}, Games[AMOUNT_MAX]{}, Victories[AMOUNT_MAX]{}, Losses[AMOUNT_MAX]{};
    char MenuOption;

RepeatMenu:
    menu();
    
    for (short i=0; i<3;i++)
    {
        cout<<Date[i]<<endl;
    }
    cin >> MenuOption;

    switch (MenuOption)
    {
    case '1':
    {
        Play(AMOUNT_MAX, RECORD, Date, Games, Victories, Losses);
        break;
    }

    case '2':
    {
        Statistic(AMOUNT_MAX, RECORD, Date, Games, Victories, Losses);
        system("pause");
        system("cls");
        goto RepeatMenu;
    }

    case '3':
    {
        HowToPlay();
        system("pause");
        system("cls");
        goto RepeatMenu;
    }

    default:
    {
        cout << "\nError: invalid number! Please choose another option.\n";
        system("pause");
        system("cls");
        goto RepeatMenu;
    }
    }
}