C++相談室 part165at TECHC++相談室 part165 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト100:デフォルトの名無しさん (ワッチョイ de63-J7+h) 23/12/30 05:42:41.89 3ksfrMrT0.net >>99 >int x, y; >cin >> x >> y; おk スマンカッタorz エラーとEOFのどちらかを検知したかったら!cin.good()が正しいっぽい? https://blog.emattsan.org/entry/20110819/1313743195 ここまでは分かった気がするが、 ストリーム入力演算子std::istream& operator>>(std::istream& os, Foo& obj)の中で入力に失敗した場合 どうやってエラーを呼び出し元に通知したらええんじゃ…… 101:デフォルトの名無しさん 23/12/30 05:50:37.02 3ksfrMrT0.net クラスFooの入力ストリーム演算子の中で整数を2個読むとして、 std::istream& operator>>(std::istream& os, Foo& obj) { int x, y; os >> x >> y; if (!os.goot()) { return os; // エラー発生時は単純にreturn os; でおk? } obj.m_x = x; obj.m_y = y; return os; } 102:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 43c3-KM86) 23/12/30 08:47:16.28 XV37Te4m0.net >>100 ストリームのフラグを立てるメンバ関数は setstate だけど >>101 の状況ならフラグはもう立ってるから戻るだけで問題ないよ。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch