This is a possible signature for a recursive function; obviously you will have to test the criteria under which the recursion would continue. Will you ignore spaces and punctuation. Eg. "Neil, a trap! Sid is part alien!" or "Mr. Owl ate my metal worm".
1 2 3 4 5 6
bool isPalindrome(const string& str, int firstLetter, int lastLetter)
{
....
.... return isPalindrome(str, ++firstLetter, --lastLetter);
....
}