我正在尝试使LotShape
函数具有2个参数并返回它们的总和,然后将此函数传递给lambda
循环以将每个2个元素加在一起。
但是由于for_each
让函数在当前元素上起作用,所以我不能将当前元素和下一个元素加在一起!
for_each
但这会产生错误,我尝试通过以下方式手动进行处理:
#include <bits/stdc++.h>
using namespace std;
int main()
{
vector <int> v = {1, 2, 4, 54 ,64, 32, 43, 3};
auto add = [](int x, int y) {cout << (x+y) << endl;};
for_each(v.begin(), v.end(), add);
}
输出:
vector <int> v = {1, 2, 4, 54 ,64, 32, 43, 3};
auto add = [](auto x) {auto s = x + *(&x+1); //adding the current element and the next elemnt.
cout << s << endl;};
for_each(v.begin(), v.end(), add) ;
我不知道这个额外的7077509
7077510
7077512
7077562
7077572
7077540
7077551
7077511
号码是从哪里来的!如果容器未关联,则此方法将无效。
因此,如何使此7077508
函数具有2个参数。