【发布时间】:2013-11-27 23:16:54
【问题描述】:
这是我的错误:
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++ 开始,这些答案都与我迄今为止所学的没有任何意义。如您所见,这是一个输出歌曲的简单程序。它旨在帮助我为正在上的课程练习弦乐,但这对我来说绝对没有意义,而且这本书也没有太大帮助。有人可以向我解释一下吗?
附:如果这有帮助,它将使用 g++ 进行编译,但是当它运行时会出现该错误(所以基本上这不是编译错误,而是运行错误)。
【问题讨论】:
-
为了帮助调试,您可以使用 list.at(i) 和 list.at(i+1) ,它们通常会通过更有用的消息告诉您索引溢出。
标签: c++ string runtime-error