我一直在试图创建一个函数,它将数字带入矢量(准确的说是7),并计算平均值。不过,我尝试将每个向量元素初始化为用户输入的数字。例如:初始化矢量(C++)
double average(int a, int b, int c, int d, int e, int f, int g)
vector<double>aa;
aa[0]=int a;
aa[1]=int b;
aa[2]=int c; etc.
但是,当我这样做,我得到
error: expected primary-expression before ‘int’
当我将其更改为
for(size_t j=0; j<=7; j++)
{
cout<<"Enter item # " <<(j+1);
cin>>a[j];
}
我得到
invalid types ‘int[size_t {aka unsigned int}]’ for array subscript cin>>a[j];
我的新节目,并且可能无法理解复杂的答案。 如果之前有人问过这个问题,我很抱歉。我使用Linux Ubuntu编译我的代码(Terminal,g ++)。
N.B.我们的讲师对这个答案是:
double average (const vector<int>& v)
{
int N = v.size();
int sum = 0;
for (int i = 0; i < N; i = i + 1)
{
sum = sum + v[i];
}
return static_cast<double>(sum)/(N);
}
(我认为我是错的,因为他提出要“通过引用函数调用”,我想我“按值调用”创建我有一个不知道他写的东西(尤其是return static_cast<double>(sum)/(N);
所以你有一个问题陈述,你的讲师提供了一个正确的解决方案。你的问题到底是什么? – nvoigt
他的回答困惑了我。 –