2017-11-21 11 views
1

私はC++を学び始めました。cin.get()の使用。多くの時間のために

私たちは

char name1[size]; 
char name2[size]; 
cin.get(name1,size).get(); 
cin.get(name2,size).get(); 

のようなコードを使用することができ、それがエラーをしないことを学びました。

私は、関数get()が入力を読み取るために2回以上連鎖できることを理解しました。 だから私は

char name1[size]; 
char name2[size]; 
cin.get(name1,size).get().get(name2,size).get(); 

ようにそれを作ってみましたが、私は、Visual Studio上cin.

エラーE0153にエラーが発生します。 "式にはクラス型が必要です"。最初のコードが正しい一方で第二のコードが間違っているでない理由

だから、誰かが私


を言うことができますか?


+0

あなたは説明する必要があります: "それはcinでエラーを起こしました"。コンパイル時間エラー?ランタイムエラー? – user463035818

+0

Visual StudioのエラーE0153。 "それは文の上にクラス形式が必要です"。 –

+1

[mcve]とエラーメッセージをそのまま表示してください。それは本当に「それが必要です....」と言うだけですか?それは何ですか? – user463035818

答えて

4

istream::get() and istream::get(char&) differの戻り値:引数でオーバーロードが同じistreamへの参照を返しながら

int istream::get(); 
istream& istream::get (char& c); 

だから引数なしのオーバーロードは、読み出しチャーの値を返します連鎖を可能にする。

+0

ああ私はそれを得た。それは本当に私を助けました。あなたの簡潔で良い解決に感謝します。 –

関連する問題