先识别错误顺序
流已在字符 x 上失败。判断“直接再读 → clear → 再读”为什么救不回来。
读取 int→clear()→读取 int
等待判断:哪一步没有处理掉
x?把一次 operator>> 拆成可观察的动作:字符是否被消费、状态位何时改变,以及恢复顺序为什么不能颠倒。
x 观察失败,用空输入观察 EOF 如何被“读取尝试”发现。流已在字符 x 上失败。判断“直接再读 → clear → 再读”为什么救不回来。
x?依次选择动作。目标:解除 fail、移走坏 token,再成功读出后面的 23。
clear() 让流重新接受操作,但游标不动。ignore(...) 或读取字符串,把错误输入移出缓冲区。