我正在使用一个库,它有一个功能:
static void printSingleExpr(std::ostream &os, const ref<Expr> &e);
但是,我想使用ofstream
而不是std::ostream
输出到文件,当我传递ofstream
实例时(如预期的那样)我收到错误。有没有办法实现这个没有修改函数本身(或重载函数)?
答案 0 :(得分:4)
你必须传递错误的东西。 std::ofstream
继承自std::ostream
,因此可用于代替std::ofstream f("x.bin");
printSingleExpr(f, x);
。换句话说,以下内容应该有效:
std::ofstream
确保{{1}}引用因某种原因不稳定或不稳定。