【发布时间】:2013-12-07 20:41:25
【问题描述】:
我正在介绍 C++,我在 Win7 上使用 VStudio 2013。我尽量避免从我的菜单中输入错误的数据,它在除此之外的所有菜单中都有效。
cout << "Please choose your second number" << endl;
cin >> move2;
if (move2 < 1 || move2 > size)
{
cout << "That's not a valid move" << endl;
Sleep(2000);
cin.sync();
cin.clear();
}
唯一的区别是在 move > 的条件中是一个变量(大小)而不是一个数字。当我输入一个字符时,它会回到要求另一个输入的问题,但是如果我输入一个单词,它就会中断!
我尝试使用cin.ignore(numeric_limits<streamsize>::max(), '\n');,但编译器会突出显示max(),并显示“期望标识符”。
对于你们所有优秀的程序员来说,这可能很容易,但我不知道如何解决它。有人可以帮帮我吗?
【问题讨论】:
标签: c++