重複の可能性:
このcinの読み取りが詰まっているのはなぜですか?
istream演算子(istream &operator>>...
)をオーバーロードしましたが、次の形式のポイントを取ります。
(<x-coordinate>,<y-coordinate>)
これを複数回テストしたいので、次のように書いています。
for (int i = 0; i < 10; i++) {
cin >> a;
if (!cin.fail()) { cout << a << endl; }
else { cout << "Invalid input!" << endl; cin.clear(); }
}
編集:
私は今、次のコードを持っています:
for (int i = 0; i < 10; i++) {
cin >> a;
if (!cin.fail()) { cout << a << endl; }
else {
cout << "Invalid input!" << endl; cin.clear();
while (!cin.eof()) { cin.ignore(); } cin.ignore();
}
}
無視はクトゥルフによって提案されました。ただし、問題はcinがまだ「無効な入力です!」を出力することです。上記のコードを実行した後:
(3,3) <-- input
(3,3) <-- output
Invalid output! <-- second output
cinに何が含まれているのかをクリアする方法はありますか?