我是编程的新手,特别是C++。我有一个任务,它的一部分是使用结构编写一个函数。使用结构定义函数
struct S {
float m; //how many
int h; //where
float mx;
};
int main() {
S s;
s.m=0.5;
s.h=1;
vector<float> v(10);
for (int i=0;i<10;i++)
v[i]=sin(i);
S mx = max_search(v);
该功能没问题,如果(mx.m>0.98935 && mx.m<0.9894 && mx.h==8
)。
我出来了这个函数的代码,但我知道,这是相当有缺陷的。
float max_search(vector<float> v) {
int max=0;
for (int i=0; i<v.size(); i++) {
if (v[i]>max) {
max=v[i];
}
return max;
}
}
我不知道,我应该怎么处理函数的类型,也许返回值也是错误的。
您正在返回您的for循环。 Soit将只执行一次。 – ryadavilli
由于您不需要复制矢量,因此可以通过'const'引用传递它。 – 2012-12-19 10:23:43