0

ライブラリを使用していますが、次の機能があります。

static void printSingleExpr(std::ostream &os, const ref<Expr> &e);

ofstreamただし、ではなくを使用してファイルに出力したいのですstd::ostreamが、インスタンスを渡すとofstream(予想どおり) エラーが発生します。関数自体を変更する (または関数をオーバーロードする)ことなくこれを達成する方法はありますか?

4

1 に答える 1

4

何か間違ったことを渡しているに違いありません。std::ofstreamから継承しているため、代わりに使用できますstd::ostream。つまり、次のように動作するはずです。

std::ofstream f("x.bin");
printSingleExpr(f, x);

std::ofstream参照が何らかの理由で定数または揮発性でないことを確認してください。

于 2012-08-18T20:10:15.710 に答える