递归ostream函数c++

Recursive ostream function c++

我有一个 class,它具有相同类型的 children,我想使用一个接受 ostream 引用的函数从它们中获取数据。到目前为止,我有这段代码,但出现错误:

"invalid operands to binary expression ('ostream' (aka 'basic_ostream') and 'ostream')"

ostream& print(ostream& myOstream) {

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

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

    return myOstream;
}

我发现函数 return 值和打印到 ostream 有问题?我已经尝试解决这个问题很长一段时间了,非常感谢您的帮助!谢谢

你不应该输出打印 child 的结果:

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