我是C++的新手,有一个任务需要四个计算,所有计算都建立在彼此的基础上。第一个很简单,要求提供4个定义的数字的平均值。我需要从这个文件输出到主cpp文件中打印,但我无法将值传递到主文件。我欢迎任何输入和反馈!
下面是头文件“average.h”的代码:
#ifndef AVERAGE_H_INCLUDED
#define AVERAGE_H_INCLUDED
using namespace std;
double getAverage(int Avg);
#endif
下面是“average.cpp”文件的代码:
#include <iostream>
#include <cmath>
using namespace std;
double getAverage(int avg)
{
int arr[] = { 24, 30, 40, 50 };
int size, i;
int Average, sum = 0;
size = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < size; i++)
sum = sum + arr[i];
Average = sum / size;
return Average;
}
void getAverage()
{
std::cout << Average << std::endl;
}
下面是“main.cpp”文件:
#include <iostream>
#include "average.h"
using namespace std;
int main()
{
cout << "The average of the four scores is: " << getAverage << endl;
}
我已经尝试了很多方法,现在我得到了多个错误,感觉我错过了一些简单的事情。任何指导和一点解释我做错了什么会很有帮助。
2条答案
按热度按时间qv7cva1a1#
这里有很多错误,而且因为实际上没有显示任何错误消息,所以很难知道您是否正确编译。
首先,要调用函数,必须使用
()
就是这个
第二,第一个
getAverage
函数有一个无意义的参数,把它取出来。它也应该返回一个双精度型。也修复头文件
最后去掉第二个
getAverage
函数mbjcgjjk2#
一个返回类型的函数必须用相同的类型定义。这是错误的:
getAverage()函数不能使用Average变量,因为Average是在另一个作用域中定义的。它是在getAverage(int avg)主体中定义的。