为什么矢量迭代器不可取消引用
Why is Vector Iterator not dereferencable?
下面的代码无法延迟向量迭代器,但我不知道为什么。我只是简单地遍历2d数组,并将所有值实例化为0。我在哪里迭代到一个无效的位置?
vector<vector<bool>> isduplicate(100);
for(int i=0;i<isduplicate.size();i++){
for(int s=0;s<isduplicate.size();s++)
isduplicate[i][s]=false;
}
您正在isduplicate
上迭代两次。您应该在内部循环中迭代isduplicate[i]
:
vector<vector<bool>> isduplicate(100);
for(int i=0;i<isduplicate.size();i++){
for(int s=0;s<isduplicate[i].size();s++)
isduplicate[i][s]=false;
}
但是,对于所有的i
,isduplicate[i]
都是空的,因此您不会迭代内部循环中的任何内容。
如果您想要100个bool
的100个矢量包含false
值,则:
vector<vector<bool>> isduplicate(100, vector<bool>(100, false));
应该这样做。
相关文章:
- C++取消引用指针.为什么会发生变化
- 使用取消引用的指针的多态性会产生意外的结果.为什么?
- 取消引用运算符不能重载
- 在他自己的方法中,有可能将一个对象取消引用到另一个对象吗
- C++ 关于指针取消引用的技术问题
- 没有取消引用/解包对象的标准方法?
- 列表 iter 不取消引用 使用列表进行插入排序
- 在这个函数中是有缺陷的,因为取消引用 null 是无效的,所以我想更改代码
- 取消引用结束指针到数组类型的一个
- 取消引用向量时出现问题
- 取消引用指向整数的指针时获得不同的结果
- C++:取消引用十六进制值,有点语法问题
- C/C++ 取消引用错误:在空检查之前取消引用
- 取消引用后C++空测试
- 对于实际指针类型,用于检测类似指针(可取消引用)类型的模板函数失败
- 升压::可选<bool>取消引用
- 如何确定类型在 C++03 中是否可取消引用
- 数组迭代器不是可取消引用的错误
- 迭代器不是可取消引用的堆栈(表达式树)和循环无法正常工作
- 列出迭代器而不是可取消引用的运行时