在地图矢量内查找对
Find pair within vector of maps
我使用以下函数试图在地图向量中查找地图元素的键。
Entry* SymTab::lookup(const char* name)
{
for (int i=0;i<table.size();i++) //table is the vector
{
map<const char*, Entry, ltstr>::iterator its= table.at(i).find(name);
if (its != cur.end())
{
Entry* obj = &its->second;
cout<<(*its).first<<endl;
return obj;
}
}
}
该函数正确返回第一个向量索引 (at(0)) 中任何项的值。但是每当我尝试访问第二个索引 (at(1) 中的元素时,它都会出现段错误。我确信地图已正确插入并在第二个索引处填充。
有人在这里看到问题吗?
有人在这里看到问题吗?
是的。 cur
不会跟踪当前地图。
尝试将if
行替换为:
if (its != table.at(i).end())
相关文章:
- 在地图和列表之间查找标准容器
- 了解标准::地图::查找
- std::在地图上查找无法正常工作并循环访问地图的键和值
- 如何使用地图::在地图上查找
- 如何在给定任意数量的整数的情况下创建一个唯一键?并使用该键存储,然后从地图中查找
- 在地图键的矢量中查找多个字符串
- 如何在具有非常量指针键的地图中通过常量指针键查找
- 在STL地图中通过参考查找并返回
- 查找地图C 没有在地图中找到已经添加的密钥
- 按值在地图中查找 - 方法在速度方面的偏好
- 带地图的 GUI C++最短路径查找器
- 在给定键 (C++) 的地图向量内查找项目
- 在地图列表中查找
- STL 地图查找无法正常工作
- 使用在地图上查找<对,int>
- 如何在将多维 int 数组映射到 C++ 中的字符串时实现在地图上查找或计数
- 地图的查找功能得到错误的结果
- 使用string_view进行地图查找
- 使用堆查找地图的顶部元素
- 查找地图中的最后一个条目