なぜこれが私にとってうまくいくのですか:
for(int i = 0; i < vec.size(); i++)
{
os << vec[i] << " ";
}
これはしませんが:
for(vector<int>::iterator it = vec.begin(); it < vec.end(); it++)
{
os << vec[*it] << " ";
}
*it
インデックスとして使用する代わりに印刷する必要があり、おそらく条件をに変更する必要がありますit != vec.end()
。
イテレータを間違って使用しています。次のようになります。
for(vector<int>::iterator it = vec.begin(); it < vec.end(); it++)
{
os << *it << " ";
}
あなたのコードはインデックスで要素を出力しようとするだけで*it
、それは有効ではないかもしれません。