gpt4 book ai didi

C++ 编译器不允许我使用数组作为用户定义函数中函数调用的参数

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:44 25 4
gpt4 key购买 nike

C++ 编译器不允许我使用数组作为用户定义函数中函数调用的参数。有人可以向我解释一下并帮助我解决这个问题吗?

#include <iostream>
using namespace std;
double GetAverage(int[], int = 10);
int GetAboveAverage(int[], int = 10);
const int ARRAYSIZE = 10;

void main()
{

int mArray[ARRAYSIZE];

cout << "Input the first number" << endl;

for (int i = 0; i <= ARRAYSIZE - 1; i++)
{
cin >> mArray[i];
cout << "Input the next number" << endl;
}

cout << "The average of the nummbers is " << GetAverage(mArray, ARRAYSIZE) << endl;
cout <<"The the amount above average is " << GetAboveAverage(mArray, ARRAYSIZE) <<endl;

system("pause");
}

出现问题的函数调用了这个函数。

double GetAverage(int fArray[], int arrSize)
{

int sum = 0;
int average;

for (int i = 0; i <= arrSize- 1; i++)
sum += fArray[i];
average = sum / arrSize;

return average;
}

听到的就是问题所在。

int GetAboveAverage(int gArray[], int arrSize)
{
int amtAboveAve;
int average = GetAverage( gArray[], arrSize); //where i get the error its on the bracket and it says "error: expected and expression"
for (int i = 0; i <= 9; i++)
if (gArray[i] > average)
amtAboveAve++;
return amtAboveAve;

}

最佳答案

您不能按原样传递 gArray[],因为它在您尝试使用它的上下文中毫无意义。这是因为 gArray[] 试图声明一个参数列表,因为它是一个声明,其中不能在函数中作为参数传递。

你可能得到的确切错误是:

Error #[error number here]: expected an expression

您的函数声明需要一个表达式,而不是声明

相反,只需在函数声明中使用不带括号的 gArray

关于C++ 编译器不允许我使用数组作为用户定义函数中函数调用的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27453118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com