首页 > 解决方案 > 回答 ay 或 Y、n 或 N 时的奇怪反应

问题描述

当我放置循环时,我想将 cin 放在不同的函数中,并根据提供的 bool 返回。我以为我做对了,但它返回了一些奇怪的东西。它看起来不像下溢或溢出。它返回 00DB1078,对我来说这有点像十六进制。无论如何,我不确定我做错了什么或从哪里开始研究这类问题。这是我的代码。

    cout << "That was fun! Would you like to play again? ";
getline(cin, Response);
// cout << "Is it y? " << (Response[0] == 'y' || Response [0] =='Y');
if
    (Response[0] == 'y' || Response[0] == 'Y')
    return true;
else if (Response[0] == 'n' || Response[0] == 'N')
    return false;

这是它呼吁的地方。

    int main()
{
// do while (Response == 1)
PrintIntro();
PlayGame();
AskToPlayAgain();
cout << "You said" << AskToPlayAgain;
return 0;
}

标签: c++xor

解决方案


检查函数是否正确返回的调用是有缺陷的。要修复它,请将 () 放在函数名称的末尾。


推荐阅读