Функция для проверки, содержит ли строка число

Я работаю над проектом на C ++ (который я только начал изучать) и не могу понять, почему эта функция не работает. Я пытаюсь написать класс «Person» с переменной first_name и использовать функцию set_first_name для установки имени. Set_first_name необходимо вызвать функцию (ниже), чтобы проверить, есть ли в имени какие-либо числа. Функция всегда возвращает false, и мне интересно, почему? Кроме того, это лучший способ проверить номера или есть лучший способ?

   bool Person::contains_number(std::string c){ // checks if a string contains a number
        if (c.find('0') == std::string::npos || c.find('1') == std::string::npos || c.find('2') == std::string::npos || c.find('3') == std::string::npos
        || c.find('4') == std::string::npos || c.find('5') == std::string::npos || c.find('6') == std::string::npos || c.find('7') == std::string::npos
        || c.find('8') == std::string::npos || c.find('9') == std::string::npos){// checks if it contains number

        return false;
        }
        return true;
    }

Ответы на вопрос(5)

Ваш ответ на вопрос