C++ 在需要ostream时使用流

C++ 在需要ostream时使用流,c++,ofstream,ostream,C++,Ofstream,Ostream,我正在使用一个库,它有一个功能: static void printsinglexpr(标准::ostream&os,const ref&e) 但是,我希望使用流的而不是std::ostream输出到文件,并且当我传递流的实例时(就像预期的那样),我得到了一个错误。有没有办法在不修改函数本身(或使函数过载)的情况下实现这一点?您一定传递了错误的消息std::ofstream继承自,因此可以用来代替,std::ofstream。换言之,以下各项应起作用: std::ofstream f("x.bi

我正在使用一个库,它有一个功能:

static void printsinglexpr(标准::ostream&os,const ref&e)


但是,我希望使用流的
而不是
std::ostream
输出到文件,并且当我传递流的
实例时(就像预期的那样),我得到了一个错误。有没有办法在不修改函数本身(或使函数过载)的情况下实现这一点?

您一定传递了错误的消息
std::ofstream
继承自,因此可以用来代替,
std::ofstream
。换言之,以下各项应起作用:

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

确保您的
std::ofstream
引用由于某种原因不是常量或易变的。

您一定传递了错误的信息
std::ofstream
继承自,因此可以用来代替,
std::ofstream
。换言之,以下各项应起作用:

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

确保你的
std::ofstream
引用不是常数或不稳定的。谢谢,我想我在其他参数上犯了一些愚蠢的错误,这是问题的真正原因谢谢,我想我在其他参数上犯了一些愚蠢的错误,这是问题的真正原因