
mapより特定の値を持つ要素を削除したいのですが、上手くいきません。
下のようなコードで実現しようとしたのですが、eraseを呼んだ次のループでもう一度eraseを呼んで実行時エラーとなってしまうようです。
erase後のイテレータが指す値が悪いのではないかとは思うのですが、実際に何が悪いのかご存知の方がいらっしゃればアドバイスをお願いいたします。
string s[20];
char c='a';
map<string,bool> m;
//mapへの要素の挿入
for(int j=0;j<20;j++){
s[j]=string(&c);
c++;
if(j%10==0)
m[s[j]]=true;
else
m[s[j]]=false;
}
map<string,bool>::iterator i;
//削除処理
for(i=m.begin();i!=m.end();i++){
if(i->second){
m.erase(i);
}
}
No.1ベストアンサー
- 回答日時:
m.erase(i) すると iterator i の指す先が無くなるので、i++ できません。
そのものずばりのページがあったので、以下はそこを参照
要約すると、いっこ進んでから直前の要素を消す。
参考URL:http://www.sun-inet.or.jp/~yaneurao/intensive/cp …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Java8以降】csvファイルの複...
-
C++/CLI 関数がインポートでき...
-
C言語のポインターに関する警告
-
動的配列が存在(要素が有る)か...
-
System.err. printlnとSystem.o...
-
(漢和辞典)部首の配列法は?
-
javaの掲示板について
-
偶数ビットだけと奇数ビットだ...
-
オブジェクトの中のプロパティ...
-
1~100までの数字を表示したい
-
int型で表示したいのですが・・・
-
所持金の計算式とその表示の仕方
-
ORA-01858: 数値を指定する箇所...
-
PrintWriterクラスのバッファ機...
-
配列
-
多次元配列は配列の配列である
-
1~100までの数字を表示し、か...
-
system.out.printが出力されない
-
JavaScriptの変数をjavaのメソ...
-
戻り値を使用する呼出
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# ListBoxのアイテムをユーザ...
-
C#でIPアドレスの取得について
-
string→CStringの型変換について
-
「指定されたキャストは有効で...
-
【Java8以降】csvファイルの複...
-
jap実行時のTomcatのエラーに困...
-
特定の文字列が一致する行から...
-
C#での関数テーブルの作り方
-
PHPのSHA256変換について
-
Delphiで改行文字の置換がうま...
-
GDI+ DrawString() で指定範囲...
-
strcmp関数などでの複数の文字...
-
C# 他のアプリケーションから複...
-
c#で(",")区切りのcsvファイル...
-
SQLインジェクション
-
ArrayListを改良したい
-
HTML文書の文字コードの判定法
-
phpマニュアルの見方
-
2つのリストのマージ方法について
-
strncpy後のatoiがおかしい
おすすめ情報