2017-10-25 23 views
-3

私は、同じ型の子を持つクラスを持っています。それらから、ostream参照を取る関数を使ってすべてのデータを取得したいと思います。これまでのところ、私はこのコードを持っているが、私はエラーを取得しています:再帰的ostream関数C++

「バイナリ表現( 『のostream』(別名 『basic_ostream』)と 『のostream』)への不正なオペランド」

ostream& print(ostream& myOstream) { 

    if(child!=nullptr){ 
     myOstream << child->write(myOstream); 
    } 

    myOstream << " " << objectData << " "; 

    return myOstream; 
} 

を私があります集まります関数の戻り値に問題があり、それをostreamに出力していますか?私はこれをかなりの間修正しようとしていますので、助けていただければ幸いです!ありがとう。

+0

'たぶん、あなたは意味myOstream'を返します。 – Raindrop7

+2

[mcve]を入力してください。 「子供」とは何ですか? 「出ている」とは何ですか? 'objectData'とは何ですか?どのラインでエラーが報告されますか?どのように 'print'を呼びますか? –

+0

あなたは本当に質問をする方法を学ぶ必要があります。そしておそらくこのhttps://stackoverflow.com/questions/36292905/using-a-recursive-function-as-output-in-a-ostream-functionの複製です。 – Frrank

答えて

1

あなたは子供を印刷出力しない結果はずです

if (child != nullptr){ 
    child->write(myOstream); 
} 
+0

ありがとう!私が以前にどうやってそれを試していないのか分かりません。完璧に動作します。 –