不能将'double'转换为'double(*)[5]'以将参数'1'转换为'void one_set_avrg(double(*)[5])'

时间:2017-06-17 05:31:51

标签: c++

这个问题要我创建一个二维数组,并且会有几个任务要求我在不同的功能中执行它。像计算每行的平均值一样,计算整个数组的平均值,按升序对数组进行排序,并输出我键入的最大值。

如果我不将它分成不同的函数,代码就有效,但问题要求我将它分成不同的函数,我最终得到了这些错误:

  1. 无法将'double'转换为'double()[5]'以将参数'1'转换为'void one_set_avrg(double()[5])'
  2. 无法将'double'转换为'double()[5]'以将参数'1'转换为'void avrg_allset(double()[5])'
  3. 无法将参数'1'的'double'转换为'double()[5]'为'double' largest_value(double()[5])'
  4. 如果你能告诉我我的代码有什么问题我会非常感激,我该如何解决呢。

    以下是错误部分:

        one_set_avrg(A[3][5]);
        avrg_allset(A[3][5]);
        cout <<endl;
    
        cout <<"Largest number is: \n"<<largest_value(A[3][5])<<endl;
    
    
        return 0;
    
    } 
    

1 个答案:

答案 0 :(得分:0)

在调用函数时,您不必提及数组的尺寸。

所以,你的代码是:

one_set_avrg( A );
avrg_allset( A );


cout <<"Largest number is: \n"<< largest_value( A ) <<endl;

这是您的实时代码:http://ideone.com/tGdhDa