c++ - map<int, vector<int>> graph 和 graph[i].begin() 无法解析

标签 c++

我遇到了这个问题,我有一个 map<int, vector<int> > graph 我试图访问 graph[i].begin()其中 int i = 0; , 无法解决。

错误是:

error: no viable overloaded operator[] for type 'const map<int, vector<int> >

谁能解释一下?谢谢!

最佳答案

operator[] 不是 const 成员,因此不能应用于 const map

为什么 operator[] 是非常量?因为如果元素不存在,它会将元素插入到 map 中(这会修改 map )。

关于c++ - map<int, vector<int>> graph 和 graph[i].begin() 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24559666/

相关文章:

c++ - 如何在 Google Mock 中模拟返回类型为 unique_ptr 的方法?

C++如何测试函数使其抛出错误?

c++ - 必须为每个 VAO 上传一次着色器制服吗?

c++ - 将 R 添加到动态创建的正则表达式模式

c++ - 如何在 C++ 中使用 <threads> 和一维数组进行矩阵乘法?

c++ - 如何移动 QSplitter?

C++ 优化向量化嵌套循环

c++ - 使用 C++ 模数运算符的票据面额

c++ - 具有约束/概念的类模板特化

C++如何实现进程间socket通信?