간단한 행맨 게임을 만들고 있습니다.C++ STL : 문자열 반복기에 문제가 발생했습니다.
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
표현 : 문자열 반복자하지 dereferenceable 내가 잘못 뭐하는 거지
?
당신은 디버깅, 당신은 게시 된 코드가 원인이 동작을 확인하는 동안 역 추적을 받고 시도 할 수 있을까요? – jpalecek
재귀 구현을 사용하는 특별한 이유가 있습니까? 반복 구현은 더 간단합니다. –
@ 제임스 그래, 네 말이 맞아. 반복적으로 구현하고 이제는 작동합니다. –