【发布时间】:2012-04-18 02:26:55
【问题描述】:
我有一个 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;
【问题讨论】:
-
“我是 C++ 新手”如果您是 C++ 新手,图形编程不是从哪里开始的。
-
我并不是说我是图形编程新手,只是说我是 C++ 新手。
-
即使你擅长其他语言的图形,它仍然不是开始学习 C++ 的好地方。
-
一年后没关系,但不要告诉人们“这不是一个好的开始”,你应该把你的精力投入到,哦,我不知道,真正帮助他们。如果您看一下已接受的答案,您会发现我犯了一个小错误,因为我是语言新手。我的问题与图形编程的复杂性无关。