C++リファレンスによると、set :: insertは、イテレータが新しく挿入された要素を指しているか、存在する場合は既存の要素を指しているところでpairを返すことになっています。この簡単な例が示すようにstd :: set :: insert()からのイテレータを返すのはconstですか?
は、しかし、私は、イテレータに割り当てる問題を抱えている:私はG ++とクランとどちらの作品試した
int main() {
set<int> set;
*set.insert(5).first = 5;
return 0;
}
。
set.cc:7:24: error: read-only variable is not assignable
*set.insert(5).first = 5;
~~~~~~~~~~~~~~~~~~~~^
私はどちらか、これを示すことになる型シグネチャでイテレータがconstオブジェクトに欽慕する必要があることを示しドキュメントに何か、そして何を見つけることができません。なぜこれがうまくいかないのか誰かが私に助けられますか?
Duh。私はこれを考えていたはずです。ありがとう。私の実際の例では、intではありませんでした、私はいくつかの状態を変更したい、より複雑なオブジェクトでした。 – drwowe