私は比較的経験豊富なプログラマーであり、クラスのC++レビューに戻ってきます。比較的単純なC++プログラムをいくつか作成するという課題があります。私が慣れていない奇妙なエラーが発生しましたが、それはこのコミュニティの子供の遊びだと確信しています。
int pull_next_element (int r, std::vector<int>& sequence) {
int x = sequence[0];
sequence.erase(sequence.begin()); //orig: sequence.erase(0);
return x;
}
私が得ていたエラー:
Error C2664: 'std::_Vector_iterator<_Myvec> std::vector<_Ty>::erase(std::_Vector_const_iterator<_Myvec>)' : cannot convert parameter 1 from 'int' to 'std::_Vector_const_iterator<_Myvec>'
編集:数値インデックスの代わりにイテレータに置き換えられました。それ以外の場合は、コード全体でこの問題が修正されました。みんな、ありがとう。