C++ failbit 사용에 관해서 질문 있습니다.

llewnoiz의 이미지

예)
int i;

cin >> i;
if (cin.good()) {
cout << i << endl;
} else {
cout << "실패" << endl;
}

위에서 정수형 대신 문자열을 주게되면 실패란 메시지를 출력하고

그뒤에는 입력이 불가능하게 되는데 저는

setstate 함수나 clear 함수를 사용해서 에러상태를 리셋하고 싶습니다.

그런데 failbit 가 어떻게 전해지는지 개념을 몰라서 setstate(cin.failbit) 이런식으로 사용해 봤는데

여전히 그뒤에 cin 을 추가해도 입력이 불가능...OTL

잘알고 계신분 있으면 알려주세요