请问map的erase是失灵了吗?
查看原帖
请问map的erase是失灵了吗?
658786
STUDENT00楼主2022/10/6 15:55

为什么我的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;
}
2022/10/6 15:55
加载中...