これはおそらく愚かなエラーですが、間違ったことを見つけることができません。イテレータの設定中に奇妙なエラーが発生する
エラーはno operator "=" matches these operands
です。ここで
は私のコードは、私がit = m1.begin()
文でループのためのエラーを取得し、私はそれを反復処理することができない場合はマップをプリントアウトするために行くことができない...
void print_words(const map < string, int >& m1) {
map<string, int>::iterator it;
cout << "Number of non-empty words: " << m1.size() << '\n';
int count = 0;
for (it = m1.begin(); it != m1.end(); it++) {
}
}
です。
また、私は別の方法でイテレータを設定し、それはうまくいきましたので、このメソッドで何が間違っているのか分かりません。 – mike
'm1.begin()'の型は 'map :: const_iterator'です。' m1'は 'const'です。 –