Вы можете поймать исключение с помощью блока try catch
:
try{
PalindromFilter(a, 2);
}
catch(const std::out_of_range& e){
//std::cout <<"Error: " << e.what(); //to print the exception description
//or do whatever
}
Однако это не заставит вашу программу работать должным образом, вам нужно решить проблемы Palindrome
метода.
В вашем for
l oop на последней итерации ваш words
векторный доступ равен out_of_bounds . Используйте <
вместо <=
.
Это: pol.at(i) = words.at(i);
недопустимо, pol.at(i)
не существует, пока для него не выделена память, вы можете использовать метод vector
push_back()
, pol.push_back(words[i]);