错误:数组下标的类型"int[int]"无效



问题:编写一个C++程序来使用函数反转数组

下面显示的代码返回以下错误:

错误:数组下标 b[n-i-1]=arr[i]的类型"int[int]"无效;

请告诉问题的解决方案,即如何删除错误。

#include<iostream>
#include<conio.h>
using namespace std;
int reverse(int arr,int n)
{
int b[100];
for(int i=0;i<n;i++)
{
b[n-i-1]=arr[i];
cout<<b[i]<<"t";
}
}
int main()
{
system("cls");
int a[100],n;
cout<<"Type the number of elements in an array:n";
cin>>n;
for(int j=0;j<n;j++)
{
cout<<"Enter number "<<j+1<<endl;
cin>>a[j];
}
reverse(a[100],n);
getch();
}

将数组作为函数的参数传递时出错reverse ().将数组作为参数传递的正确方法是将其作为指向第一个元素的指针传递,这就是真正的:

reverse(a,n);

您还必须更改函数定义:

int reverse(int arr[],int n)

看看本教程以获取更多信息,但我推荐你一本关于 C/C++ 编程的好书,比如 如何在C++中编程(Deitel、Deitel(

另一个更正:您需要在打印之前填充所有b数组。例如,我建议您在reverse的第一个for之后添加另一个循环以打印数组的元素。

最新更新