我正在迭代一个存储点数据类型元素 [x,y] 的向量,而我想要在每次迭代中实现的是添加前 4 个点 x 元素和前 4 个点 y 元素....在下一次迭代中我想对下一个 4 x & y 做同样的事情......等等
第一次迭代 1.x + 2.x + 3.x + 4.x 1.y + 2.y + 3.y + 4.y
第二次迭代 5.x + 6.x + 7.x + 8.x 5.y + 6.y + 7.y + 8.y
等等…………希望我的问题很清楚
示例代码:
double Pta;
double Ptb;
Point vect;
float R1, R2;
float resultant;
vector<Point> vect_add;
for(vector<Point>::iterator iter_a = Left_Arm_xy.begin()+1; iter_a != Left_Arm_xy.end(); ++iter_a)
{
if(center.y <= 240)
{
vect.x = iter_a->x - (iter_a -1)->x;
vect.y = iter_a->y - (iter_a -1)->y;
vect_add.push_back(Point(vect.x,vect.y));
for(vector<Point>::iterator iter_v = vect_add.begin(); iter_v != vect_add.end(); ++iter_v)
{
R1 = iter_v->x + (iter_v +1)->x + (iter_v +2)->x + (iter_v +3)->x;
R2 = iter_v->y + (iter_v +1)->y + (iter_v +2)->y + (iter_v +3)->y;
resultant = sqrt(pow(R1,2) + pow(R2,2));
cout<<"Resultant: "" "<<resultant<<endl;
}
}
当我发现我试图添加所有 x 和 y 的部分时,程序像以前一样工作正常.....因此问题必须我在那里..我猜语法不正确但不是最好的程序员,因为没有编译器警告,这不能是什么错误……程序只是在运行时崩溃
谁能看到我对这段代码做错了什么
调试:
很抱歉只添加了 Debug 断点的照片,但我认为在这种情况下,图片值得 1000 个字:P