尝试访问 3D 矢量中的元素时出现 Seg 错误
Seg fault when trying access elements in a 3d vector
所以我的目标是能够访问5x5x5
3D Vector中的每个元素。当我调用toString
函数时,出现段错误错误。这是我第一次初始化3d 向量。但是从我所做的所有谷歌搜索中,我发现建议使用此初始化,但这就是我认为问题所在。
如果答案超级简单,请原谅我,我可能只是对简单的事情视而不见。
vector<vector<vector<int> > > maze(5,vector<vector<int> >(5,vector<int>(5)));
string Pathfinder::toString() const
{
string mazeStr = "";
cout << maze.size()<< endl;
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
for(int k = 0; k < 5; k++){
cout << k << endl;
mazeStr = mazeStr + to_string(maze[i][j][k]) + " ";// seg fault problem
cout << mazeStr <<".mazeStr"<< endl;
}
mazeStr = mazeStr + "/n";
}
mazeStr = mazeStr + "/n";
}
return mazeStr;
}
在给定的代码中,我没有看到任何越界。但是,您可以使用基于范围的 for 循环而不是基于索引的循环,通过它可以确保它不会来自上述函数。
std::string toString() const
{
std::string mazeStr = "";
for (const std::vector<std::vector<int>>& vector2D: maze)
{
for (const std::vector<int>& vec: vector2D)
{
for (const int element: vec) mazeStr += std::to_string(element) + " ";
mazeStr += "/n";
}
mazeStr += "/n";
}
return mazeStr;
}
相关文章:
- 从矢量中删除元素后出现隔离错误
- 删除映射和分割错误中的一个过去结束元素
- 在 alglib::real_1d_array 中获取元素总和的奇怪错误
- C++ - 将元素按升序插入数组的 SEG 错误
- 使用 <list> (错误 C2760) 打印队列的元素
- C++:使用类在向量中搜索特定元素时,我得到了错误的结果
- 用于查找数组中最大元素的出现次数的代码,给出分段错误
- C++ 将元素分配给映射值时访问错误
- 从加密项目向量中解密任意选择的元素会导致无效的 PKCS #7 块错误
- C++通过别名指针以静默方式将错误的类型分配给数组元素
- Leetcode 540 上的运行时错误.排序数组中的单个元素
- std::我不明白的矢量元素错误
- 如何修复从矢量中删除元素的错误?
- 为什么我在对向量的第二个元素"push_back"中有C3867错误
- 尝试访问 3D 矢量中的元素时出现 Seg 错误
- OpenCV 文件存储 - 错误:元素之间的解析错误 (icvYMLParseValue) 缺失
- 访问range_expression中的嵌套元素会返回不完整的映射(段错误)
- 打印向量元素错误消息
- 数组中的cout元素错误,错误
- 迭代并移除Vector中的元素.错误:Vector迭代器不可递增