I’m actually surprised that the code works. You declare your variable for Guess in your function for GetGuess() so the scope of that variable is limited to that function. That’s why in the video; Ben declares another variable Guess in PlayGame() because the variable he had in his statement cout<<"…"<<Guess was not declared anymore
In yours, not only do you not declare a new variable in PlayGame but your function PrintGuess() is somehow getting the Guess variable even though you left the parameters blank.
i.e. the expected code in PlayGame() was:
string Guess = GetGuess();
PrintGuess(Guess)
You grab the variable in function GetGuess() and send it to function PrintGuess().