int number;
cout<<" Please select which item to change:"<<endl;
for(int i=0;i<=count;i++)
{
cout<<i<<" "<<v[i]->getName()<<endl;
}
cin>>i;
cout<<"Current number of items: "<<v[i]->getNumber()<<endl;
cout<<"Enter new value: "<<endl;
cin>>number;
这是在一个切换案例中,但程序当前在for循环后终止。 任何想法?
答案 0 :(得分:2)
for(int i=0;i<=count;i++)
应该真的使用:
for(int i=0;i<count;i++)
如果有count
个元素。当您尝试访问v[ count ]
时,您试图移动一个超过集合结尾的经典 - 一个经典的一个错误 - 并调用UB。