手动设置 cin.fail()

Set cin.fail() manually

如果输入的整数大于固定数,我想引发 cin.fail() 错误?我该怎么做?

int a;
cin >> a;
if (a > 10)
   //raise cin.fail()

您可以使用 setstate 设置 failbit:

Example

#include <iostream>
#include <sstream>

int main()
{
    int a;

    std::cin >> a;

    if(a > 10)   
        std::cin.setstate(std::ios_base::failbit);

    if (std::cin.fail()) {
        std::cout << "fails\n";
    }
}