我不知道该怎么做。 所以我有这个简单的while循环意味着允许用户重新输入一个数字,如果他们意外地给出了错误的输入。 问题是,如果您输入" 2"它又回来了。我不能,因为我的生活想出来了。
void Player::playerPick()
{
int selection = 0;
while (selection != (1 || 2))
{
cout << "Player 1 or Player 2 (Type [1] or [2])";
cin >> selection;
}
}
答案 0 :(得分:4)
您写道:
while (selection != (1 || 2))
这是&#34;而选择不是一两个&#34;。
实际正确的英语是&#34;而选择既不是一个也不是两个&#34;,而且在C ++中也是如此:
while (!(selection == 1 || selection == 2))
或者,更简单,&#34;虽然选择不是一个,选择不是两个&#34;:
while (selection != 1 && selection != 2)
表达式1 || 2
评估为true
,因此您编写了while (selection != true)
,任何非零值selection
就是这种情况