For loop (这里是新手)基于范围的函数中循环不工作(C+;+;) 我一直在做一些C++练习,我偶然发现C++中的一个问题: ,这对我来说是一个比较新的话题。我决定做一个函数,它接受一个整数数组,并提供一个特定的数字,无论它是最大值、最小值还是所有数字的平均值
所以我认为做这个for循环要容易得多,因为它根本不需要数组大小!但是我的编译器不喜欢我的想法。请参见下面的代码(函数是用葡萄牙语编写的,但这并不重要):For loop (这里是新手)基于范围的函数中循环不工作(C+;+;) 我一直在做一些C++练习,我偶然发现C++中的一个问题: ,这对我来说是一个比较新的话题。我决定做一个函数,它接受一个整数数组,并提供一个特定的数字,无论它是最大值、最小值还是所有数字的平均值,for-loop,For Loop,所以我认为做这个for循环要容易得多,因为它根本不需要数组大小!但是我的编译器不喜欢我的想法。请参见下面的代码(函数是用葡萄牙语编写的,但这并不重要): #包括 #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; 无效juradosLegais(国际v[]); 浮点数(整数v[]); 皮奥诺塔国际机场(国际v[]); 内特梅尔霍诺塔(内特v[]); float-getMedia(intv[]); 无效存储值(int v[]); int main(){ setlocale(葡萄牙
#包括
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
无效juradosLegais(国际v[]);
浮点数(整数v[]);
皮奥诺塔国际机场(国际v[]);
内特梅尔霍诺塔(内特v[]);
float-getMedia(intv[]);
无效存储值(int v[]);
int main(){
setlocale(葡萄牙语);
国际注释[5];
存储值(NOTA);
cout如果我没记错的话,内置数组(比如int notas[5];
)就不工作了,因为它们不跟踪大小,也没有成员函数(比如begin
和end
)这是基于范围的for
循环工作所必需的。请改用标准库类来执行此操作并将其传入。然后您的for
循环应该工作。因此,请改用:
int notas[5];
你会做:
std::array<int, 5> notas;
您可以这样声明它们:
void juradosLegais(int v[])
template <class arraytype>
void juradosLegais(arraytype v)
{
...
}
更好的是,不要使用任何类型的数组,而只使用向量
。它们更安全、更灵活,在大多数情况下通常与数组一样快
void juradosLegais(int v[])
template <class arraytype>
void juradosLegais(arraytype v)
{
...
}
void juradosLegais(std::array<int, 5> v)
{
...
}
#include <array>