Когда компилятор C ++ выдает это сообщение: "завершить вызов после выброса экземпляра 'std :: out_of_range'"? Я пытался эту проблему на сайте. Я написал алгоритм, но код не скомпилируется.
Я написал следующий алгоритм:
int stringSimilarity(string s) {
int size=s.size(), sum=0;
for(int i=0; i<size; i++)
{
string sub_str; int temp_sum=0;
//Creating a substring for comparison
for(int j=i, l=0; j<size, l<size-i; j++, l++)
{
sub_str.at(l)=s.at(j);
}
if(sub_str.at(0)==s.at(0))
{
temp_sum++;
int k=1;
while(sub_str.at(k)==s.at(k))
{
temp_sum++;
k++;
}
}
sum=sum+temp_sum;
}
return sum;}
Можеткто-то, пожалуйста, скажите мне, где я иду не так?