我有一个 point3 结构,它需要 3 个浮点数 x、y、z(3-D 空间坐标)。
我正在尝试编写一个函数来转换点列表中每个元素的 x、y、z 值。
我是 C++ 新手,所以我认为我没有正确编写迭代器,任何人都可以帮助澄清如何迭代列表并修改列表中每个元素的组件吗?
我看了这篇文章C++ How to loop through a list of structs and access their properties并认为这回答了我的问题,但解决方案不起作用。
这是我的代码:
//Translates the face by dx, dy, dz coordinates
list<point3> translateFace(list<point3> lop, float dx, float dy, float dz)
{
list<point3>::iterator iter;
for (iter = lop.begin() ; iter != lop.end(); iter++){
iter->x - dx;
iter->y - dy;
iter->z - dz;
}
return lop;
}
我也尝试了上面链接中建议的解决方案,仍然没有用。return lop应该在 for 循环内部还是外部?我应该退回除 lop 以外的东西吗?
for (iter = lop.begin() ; iter != lop.end(); iter++){
(*iter).x - dx;
(*iter).y - dy;
(*iter).z - dz;
}
return lop;