qq_27390353 2015-09-15 07:47 采纳率: 0%
浏览 1356

提示越界,求大神帮忙解答下

小弟刚开始接触编程,下面程序提示越界,希望论坛里的大神能帮忙解答下

#include
#include

using namespace std;

int main()
{
vector a;
int b,c=0;
while(cin>>b)
{
a.push_back(b);
}
for(vector::iterator iter1=a.begin();iter1!=a.end()-1;iter1++)
{
vector::iterator iter2=iter1+1;
vector::iterator iter3=iter1;
while(iter3>=0 && (iter2)>(iter3))
{
c=*(iter2);
(iter2)=(iter3);
*(iter3)=c;
iter3--;
iter2--;
}
}
for(vector::iterator iter=a.begin();iter!=a.end();iter++)
{
cout<<*iter<<" ";
}
return 0;
}

  • 写回答

3条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-09-15 07:54
    关注

    vector::iterator iter2=iter1+1这句话很危险,因为当iter1已经到达end时,再加一,就有问题了

    评论

报告相同问题?

悬赏问题

  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法