Как грамотно сделать проверку даты типа string?
Пользователь вводит дату рождения, хочу проверить ее на корректность. То есть что бы день был не меньше 01 и не больше 31, что бы месяц был от 1 до 12 и год тоже. Формат даты выбрал string dats=( ..****); создать отдельную переменную string day, присвоить ей 0 и 1 символы dats и потом day перевести в инт и проверить уже на число. Так же и с месяцев и годом. Вот мой код, выдает ошибку. Если есть какие то другие решения, то с удовольствием выслушаю и возьму в свой код. А да забыл, на вход в функцию передаем минимальный год рождения, например 1900 для некоторых объектов, для других 2000. Но это так дополнение
string GetDate(int min_year)
{
cin.ignore(20, '\n');
string dats;
getline(cin, dats);
string day;
day[0] = dats[0];
day[1] = dats[1];
cout << day;
return 0;
}