我正在尝试创建一个函数,该函数计算数组中所有数字的平均值。但是,当我运行代码时,标头中的向量未声明。我应该改变什么?
我尝试将#include放入头文件并使用命名空间std;但这仍然不能解决我的问题。我也尝试过将函数作为参考传递。
Source.cpp
#include <iostream>
#include <string>
#include "math.h"
#include <vector>
using namespace std;
int main()
{
vector<int> notes;
notes.push_back(8);
notes.push_back(4);
notes.push_back(3);
notes.push_back(2);
cout << average(notes) << '\n';
}
math.cpp
#include "math.h"
#include <vector>
using namespace std;
int average(vector<int> tableau)
{
int moyenne(0);
for (int i(0); i < tableau.size(); i++)
{
moyenne += tableau[i];
}
return moyenne / tableau.size();
}
math.h
#ifndef MATH_H_INCLUDED
#define MATH_H_INCLUDED
int average(vector<int> tableau);
#endif MATH_H_INCLUDED
答案 0 :(得分:4)
#include <vector>
。std::vector
而不是vector
。const&
。
#ifndef MATH_H_INCLUDED
#define MATH_H_INCLUDED
#include <vector>
int average(std::vector<int> const& tableau);
#endif MATH_H_INCLUDED
答案 1 :(得分:0)
您需要在#include <vector>
中而不是math.h
中添加math.cpp