Я делаю простую игру с палачом из командной строки.
void Hangman::printStatus()
{
cout << "Lives remaining: " << livesRemaining << endl;
cout << getFormattedAnswer() << endl;
}
string Hangman::getFormattedAnswer()
{
return getFormattedAnswerFrom(correctAnswer.begin(), correctAnswer.end());
}
string Hangman::getFormattedAnswerFrom(string::const_iterator begin, string::const_iterator end)
{
return begin == end? "" : displayChar(*begin) + getFormattedAnswerFrom(++begin, end);
}
char Hangman::displayChar(const char c)
{
return c;
}
(В конце концов, я изменю это так, чтобы displayChar()
отображал -
или символ, если пользователь догадался об этом, но для простоты теперь я просто возвращаю все.)
Когда я собираю и запускаю это из VS 2010, я получаю всплывающее окно:
Ошибка отладки!
Строка xstring: 78
Выражение: строковый итератор не разыменовывается
Что я делаю неправильно?