c++迭代器的问题。
我想创建一个vector容器,容器类型为容器。
例如我有一个struct Vertex{};
然后我定义一个vector<vector<Vertex>> faces;
然后创建一个迭代器遍历faces。这样可以吗?如果可以请帮忙看下一下代码的问题在哪里?
std::vector<Vertex> clip(std::vector<Vertex> polygon); std::vector<Vertex> clipedge(std::vector<Vertex> polygon, int x1, int y1, int x2, int y2); std::vector<Vertex> decompose(std::vector<Vertex> polygon); vector<Vertex> frontFace; frontFace.push_back(cube[0]); frontFace.push_back(cube[1]); frontFace.push_back(cube[3]); frontFace.push_back(cube[2]); //front rightface, v2-v8-v6-v4 vector<Vertex> rightFace; rightFace.push_back(cube[1]); rightFace.push_back(cube[7]); rightFace.push_back(cube[5]); rightFace.push_back(cube[3]); //front upface, v3-v4-v6-v5 vector<Vertex> upFace; upFace.push_back(cube[2]); upFace.push_back(cube[3]); upFace.push_back(cube[5]); upFace.push_back(cube[4]); faces.push_back(frontFace); faces.push_back(rightFace); faces.push_back(upFace);for (vector<vector<Vertex>>::iterator iter = faces.begin();iter != faces.end(); ++iter) { vector<Vertex> clipped = decompose(clip(iter));//clip(iter)不合法啊在这。 }