为了账号安全,请及时绑定邮箱和手机立即绑定

函数重载没办法实现,提示 getMax函数声明为不同的参数

函数重载没办法实现啊,什么问题呀

正在回答

2 回答

同学这是网站设计的原因,他有提示你用maxNum做变量,所以你用tem做变量虽然编程没问题,但是网站不是编译器,与事先答案比较发现变量名不一样就判断你错误。而且你也要将函数定义中的*a改成*arr,这不是你的代码有问题,是因为网站不是编译器只会和答案比较找错的原因。(附上我的代码供你参考,我这个它就认为正确通过了)

#include <iostream>

using namespace std;

/**

  *函数功能:返回a和b的最大值

  *a和b是两个整数

  */

int getMax(int a, int b)

{

    return a > b ? a : b;

}


/**

  * 函数功能:返回数组中的最大值

  * arr:整型数组

  * count:数组长度

  * 该函数是对上面函数的重载

  */

int getMax(int *arr, int count)

{

    //定义一个变量并获取数组的第一个元素

    int maxNum = arr[0];

for(int i = 1; i < count; i++)

{

        //比较变量与下一个元素的大小

if(arr[i] > maxNum)

{

            //如果数组中的元素比maxNum大,则获取数组中的值

maxNum = arr[i];

}

}

return maxNum;

}


int main(void)

{

    //定义int数组并初始化

int numArr[3] = {3, 8, 6};

    

    //自动调用int getMax(int a, int b)

cout << getMax(numArr[0], numArr[2]) << endl;

    

    //自动调用返回数组中最大值的函数返回数组中的最大值

cout << getMax(numArr, 3) << endl;

return 0;

}


1 回复 有任何疑惑可以回复我~

是不是数组的形参没加*号,导致两个形参都是int类型跟上边的getMax重复了

int getMax(int *a,int count)

{

    //定义一个变量并获取数组的第一个元素

    int tem=a[0];

for(int i = 1; i < count; i++)

{

        //比较变量与下一个元素的大小

if(tem<a[i])

{

            //如果数组中的元素比maxNum大,则获取数组中的值

tem=a[i];

}

}

return tem;

}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

函数重载没办法实现,提示 getMax函数声明为不同的参数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信