首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问map c++的分段故障

访问map c++的分段故障
EN

Stack Overflow用户
提问于 2013-06-28 18:34:14
回答 1查看 1.2K关注 0票数 0

作为this问题的续篇,我正在尝试访问地图。但是我得到了一个分段错误。下面是我的代码:

代码语言:javascript
复制
typedef multimap<string, vector<string> > mos_map;
typedef multimap<string, vector<string> >::iterator mos_map_it;

int main()
{

mos_map mos;
mos_map_it it;

vector<string> v1;

v1.push_back("a");
v1.push_back("b");
v1.push_back("c");
v1.push_back("mo1");

mos.insert(mos_map::value_type(*(v1.end()-1),v1));

for(it=mos.begin();it!=mos.end();it++);
{
cout<<(*it).first<<endl;//seg fault occurs here
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-28 18:37:42

代码语言:javascript
复制
for(it=mos.begin();it!=mos.end();it++);
//                                    ^

您的循环具有空体。

一些小贴士:

  • 启用警告:

警告: for循环的主体为空-Wempty- body

  • 仅在需要时声明变量:

for(auto it = mos.begin();it != mos.end();it++);{ cout << (*it).first << endl;}

此代码将导致编译时错误:

错误:使用未声明的标识符'it'

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17362720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档