在堆中分配一个数组之后。我试图使一个函数max来查找带有指针的数组中的最大数字,但是它给了我这个错误:-在函数'int main()'中: 错误:最大值,无法用作函数。 这是代码:
#include<iostream>
using namespace std;
int max(int *v,int n){
int i,max=0;
for(i=1;i<=n;i++){
if(*(v+i)>max)
max=v[i];
}
return max;
}
int main(){
int *v,n,i;
//read n
cout<<"Number of elements ";
cin>>n;
v = new int[n];
//read elements
cout<<"Array Ellements:";
for(i=1;i<=n;i++){
cin>>v[i];
}
// output array elements
for(i=1;i<=n;i++){
cout<<v[i];
if(i<n)
cout<<",";
}
cout<<endl;
//max store the biggest number in the array
int max;
max = max(v,n);
return 0;
}
答案 0 :(得分:0)
在同一个作用域中不能同时使用具有相同名称的函数和变量,并且不能同时使用它们。因此,这将永远无法工作(如您所发现的)
int max;
max = max(v,n); // the word 'max' now refers to the variable called 'max' not the function
做
int maxValue = max(v,n);