重载,level函数。重命名后仍无效

“level”重载


#include<iostream>
using namespace std;

int array1[6][4] = {{60,80,90,75},
                   {75,85,65,77},
                   {80,88,90,98},
                   {89,100,78,81},
                   {62,68,69,75},
                   {85,85,77,91}
                  };
int& level1(int grade[], int size, int& tA, int tB);

int main()
{
    int typeA = 0, typeB = 0;
    int student = 6;
    int gradesize = 4;
    for (int i = 0;i < student;i++)
        level1(array1[i], gradesize, typeA, typeB)++;
    cout << "number of typeA is" << typeA << endl;
    cout << "number of typeB is" << typeB << endl;
    
    return 0;
}

int& level1(int grade[ ], int size, int& tA, int& tB)
{
    int sum = 0;
    for (int i = 0;i < size;i++)
        sum += grade[i];
    sum /= size;
    if (sum >= 80)
        return tA;
    else
        return tB;
}

注意12行最后一个参数于函数定义不同