该程序要求用户输入一个数字,然后将所有数字存储到一个集合容器中,并将其包括在内。问题是我要擦除特定的数字,但我不能,因为每当我尝试擦除奇数时程序就会冻结(由下面的 NUMBER 表示)。当我擦除偶数时它工作正常。但是,我注意到如果我将 y 的初始值更改为偶数,我将无法擦除偶数。在这里,我将其设置为奇数。我做错了什么?
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int>s;
set<int>::iterator cnt;
int n,x,y=1;
cout<<"Number: ";
cin>>n;
for(x=0;x<n-1;x++)
{
s.insert(y);
y++;
}
for(cnt=s.begin();cnt!=s.end();cnt++)
{
if(*cnt==NUMBER)
s.erase(cnt);
}
for(cnt=s.begin();cnt!=s.end();cnt++)
cout<<*cnt<<"\n";
return 0;
}