Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
ライブラリを使用していますが、次の機能があります。
static void printSingleExpr(std::ostream &os, const ref<Expr> &e);
ofstreamただし、ではなくを使用してファイルに出力したいのですstd::ostreamが、インスタンスを渡すとofstream(予想どおり) エラーが発生します。関数自体を変更する (または関数をオーバーロードする)ことなくこれを達成する方法はありますか?
ofstream
std::ostream
何か間違ったことを渡しているに違いありません。std::ofstreamから継承しているため、代わりに使用できますstd::ostream。つまり、次のように動作するはずです。
std::ofstream
std::ofstream f("x.bin"); printSingleExpr(f, x);
std::ofstream参照が何らかの理由で定数または揮発性でないことを確認してください。