我已经定义:访问向量<vector<int>>元素
const vector<vector<int>> *ElementLines::Quad4 = new vector<vector<int>>
{
{ 0, 1 },
{ 1, 2 },
{ 2, 3 },
{ 3, 0 }
};
稍后,我想遍历该集合中,向其中一个对象被指向:
for (int j = 0; j < e->LinesIndices->size(); j++)
{
int n1Index = e->LinesIndices[j][0]; //I expect 0 (for j = 0)
int n2Index = e->LinesIndices[j][1]; //I expect 1 (for j= 0)
}
上面的代码不会编译:
no suitable conversion function from "const std::vector<int, std::allocator<int>>" to "int" exists
但是,如果我加LinesIndices[j][0][0]
它确实提供了一个int。我不太明白这里发生了什么。要访问一个向量,我只需要使用一对方括号[i]
,这个向量的嵌套向量是不同的? (我希望能够通过使用两对方括号来访问内容)。
你有一个指向矢量向量的int指针。您正在索引指针,而不是顶级矢量。 – hlt
@hlt我无法根据你的提示找出我的问题。显然我缺乏基础知识。你能否展示什么是访问内部向量内容的正确语法? – Sturm
写一个正确的答案,给我一分钟;) – hlt