【问题标题】:Using ofstream whenever ostream is required在需要 ostream 时使用 ofstream
【发布时间】:2012-08-18 20:08:03
【问题描述】:

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

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

但是,我想使用ofstream 而不是std::ostream 输出到文件,当我传递ofstream 实例时(如预期的那样),我收到错误消息。有没有办法在不修改函数本身(或重载函数)的情况下实现这一点?

【问题讨论】:

    标签: c++ ofstream ostream


    【解决方案1】:

    你一定是传递了一些错误的东西。 std::ofstream 继承自 std::ostream,因此可以用来代替 std::ostream。换句话说,以下应该有效:

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

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

    【讨论】:

    • 谢谢,我认为我在其他参数上犯了一些其他愚蠢的错误,这是问题的真正原因
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多