[過去ログ] C++相談室 part165 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
101
(1): デフォルトの名無しさん (ワッチョイ de63-J7+h) [sage] 2023/12/30(土) 05:50:37.02 ID:3ksfrMrT0(2/3) AAS
クラス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) [sage] 2023/12/30(土) 08:47:16.28 ID:XV37Te4m0(1) AAS
>>100
100(1): デフォルトの名無しさん (ワッチョイ de63-J7+h) [sage] 2023/12/30(土) 05:42:41.89 ID:3ksfrMrT0(1/3) AAS
>>99
>int x, y;
>cin >> x >> y;
おk
スマンカッタorz

エラーとEOFのどちらかを検知したかったら!cin.good()が正しいっぽい?
外部リンク:blog.emattsan.org

ここまでは分かった気がするが、
ストリーム入力演算子std::istream& operator>>(std::istream& os, Foo& obj)の中で入力に失敗した場合
どうやってエラーを呼び出し元に通知したらええんじゃ……
ストリームのフラグを立てるメンバ関数は setstate だけど
>>101 の状況ならフラグはもう立ってるから戻るだけで問題ないよ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s