這是我正在寫的一個函數,它接收一串由空格分隔的單詞,並將每個單詞添加到數組中。我不斷收到一個錯誤,指出「libC++ abi.dylib:以std :: out_of_range:basic_string類型的未捕獲異常終止。」我似乎無法找到錯誤。libC++ abi.dylib:以std :: out_of_range:basic_string類型的未捕獲異常終止錯誤?
void lineParser(string line, string words[])
{
string word = "";
int array_index = 0;
int number_of_words = 1;
int string_index = 0;
while (string_index < line.length())
{
if (line.substr(string_index,1) != " ")
{
int j = string_index;
while (line.substr(j,1) != " ")
{
word += line.substr(j,1);
j++;
}
words[array_index] = word;
array_index++;
word = "";
number_of_words++;
string_index = j;
}
else
{
string_index++;
}
}
}
您應該將一個可調整大小的容器(如std :: vector)的引用傳遞給您的函數,而不是數組指針。 – skearney