为什么我的erase没有删成功?代码如下:
#include<bits/stdc++.h>
using namespace std;
int m,op,score;
string name;
map<string,int> f;
int main(){
scanf("%d",&m);
while(m--){
scanf("%d",&op);
if(op==1){
cin>>name;
scanf("%d",&score);
f[name]=score;
printf("OK\n");
}else if(op==2){
cin>>name;
if(f[name]) printf("%d\n",f[name]);
else printf("Not found\n");
}else if(op==3){
cin>>name;
if(f[name]){
printf("Deleted successfully\n");
f.erase(name);
}else printf("Not found\n");
}else printf("%d\n",f.size());
}
return 0;
}