我们的教授让我们做4个函数。一个打印数组,求数组的最大值,最小值,以及偶数元素的和。
我的代码一直在工作,直到我编写了evenSum函数,出现了以下错误消息:
错误:没有匹配的'operator〈〈'(操作数类型是'std::ostream' {aka 'std::basic_ostream'}和' void ')
下面是我的代码:
#include <iostream>
using namespace std;
//print array
void print(int ar[4])
{
for(int i=0; i<4; i++)
cout<<ar[i]<<'\t';
cout<<endl;
}
// return the max value
int maxValue(int ar[4])
{
cout<<"Array max value: ";
int max= ar[0];
for(int i=1; i<4; i++)
if(ar[i]>max)
max= ar[i];
return max;
}
// return the min value
int minValue(int ar[4])
{
cout<<endl;
cout<<"Array min value: ";
int min= ar[0];
for(int i=1; i<4; i++)
if(ar[i]<min)
min= ar[i];
return min;
}
// the sum of the even elements
void evenSum(int ar[4])
{
cout<<endl<<"The sum of even elements: ";
int sum=0;
for(int i=0; i<4; i++)
if(i%2==0)
sum+= ar[i];
cout<<sum;
}
int main()
{
int ar[4]={1,2,3,4};
print(ar);
cout<< maxValue(ar);
cout<< minValue(ar);
cout<< evenSum(ar);
}
我期望代码给出偶数元素的和,但我不太理解错误消息或如何修复它。
1条答案
按热度按时间cetgtptt1#
void:是一个孤独的类型,除了少数几种情况外,没有关联的值可以挂在它身上,最常见的是作为void函数的返回类型。
你把他和ostream放在一起,尽管他喜欢一个人站着。