terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create
Aborted (core dumped)
、ここでは私ですコード:
//Code removed
string generateSong(string list[], int num)
{
//Code removed
//Code removed
for (i = 0; i < num; i++)
{
output += list[i];
output += bone1;
output += list[i + 1];
output += bone2;
}
return output;
}
int main()
{
string list[9] =
{
//Code removed
};
//Code removed
return 0;
}
私はそのエラーの意味を知りたいので、私はそれを修正する方法を知っています。私は似たようなエラーを持つ多くの投稿を見ましたが、まったく同じものはありません。私は文字通りC++で始まったばかりで、これまでに学んだことは、これらの答えのどれも意味をなさない。ご覧のとおり、これは曲を出力する簡単なプログラムです。それは私が取っているクラスの弦を練習するのに役立つことを意味しますが、それは私には絶対に意味がなく、この本はあまり役に立ちません。誰かがこれを私に説明してもらえますか?
P.S.これが有用な場合は、g ++を使ってコンパイルしますが、実行するとエラーが発生します(基本的にコンパイルエラーではなく、実行エラーです)。
デバッグを助けるために、list.at(i)とlist.at(i + 1)を使うことができます。これらは、通常、より役に立つメッセージでオーバーランのインデックスを作成します。 – emsr