0
私は、ベクトルの要素が昇順でない場合、その要素を並べ替える関数を作ろうとしています。私はこれを書いたが、私はそれをコンパイルするとき、私は得る:なぜstd :: out_of_rangeエラーが発生しますか?
はのインスタンス投げた後に呼び出さ終了「のstd ::のout_of_range」何を():ベクトル:: _ M_range_check
誰かが何であるかを教えてもらえ私の機能に間違っている?ありがとう。
void reorder(vector<double>& orderA)
{
for (unsigned int i = 0; i < orderAngle.size(); ++i)
{
temp = orderA.at(i);
orderA.at(i) = orderA.at(i+1);
orderA.at(i+1) = temp;
}
return;
}
I + 1が範囲外である - その上で1.、コードは何それが必要行いません。あなたは完全な吹き出しソート機能が必要です。 – Incomputable
あなたのカウンターが 'size -1'に等しいとき、それは存在しない最後の要素と次の要素を取得しようとします。あなたのループ関数は 'i
関数の最後に常に' return'を書いてください。書き込みを忘れた場合、関数は永遠に実行されます。 –