c – 使用迭代器打印出集合中的每个成员

c – 使用迭代器打印出集合中的每个成员,第1张

概述我正在尝试使用迭代器打印出一组中的每个成员.据我所知,从其他stackoverflow答案,我有正确的格式.当我运行此代码时,它正确输出myset的大小为3,但它只输出ii一次.如果我用* iter取消注释该行,Visual Studio会抛出一个运行时异常,说“map / set iterator不是dereferencable.任何想法为什么? int main(){set<int> my 我正在尝试使用迭代器打印出一组中的每个成员.据我所知,从其他stackoverflow答案,我有正确的格式.当我运行此代码时,它正确输出myset的大小为3,但它只输出ii一次.如果我用* iter取消注释该行,Visual Studio会抛出一个运行时异常,说“map / set iterator不是dereferencable.任何想法为什么?
int main(){set<int> myset;myset.insert(5);myset.insert(6);myset.insert(7);set<int>::iterator iter;cout<<myset.size()<<endl;int ii=0;for(iter=myset.begin(); iter!=myset.end();++iter);{    //cout<<(*iter)<<endl;    ii+=1;    cout<<ii<<endl;}return 0;}
解决方法 你有一个额外的;在这一行:
for(iter=myset.begin(); iter!=myset.end();++iter);{

这意味着循环的主体实际上是空的,并且以下行仅执行一次.

所以改变这一行:

for(iter=myset.begin(); iter!=myset.end();++iter) {
总结

以上是内存溢出为你收集整理的c – 使用迭代器打印出集合中的每个成员全部内容,希望文章能够帮你解决c – 使用迭代器打印出集合中的每个成员所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1247361.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存