【问题标题】:Generic stream to output both to a file or cout -- C++通用流输出到文件或 cout——C++
【发布时间】:2012-08-06 03:15:47
【问题描述】:

我想更改一个显示有关该类的一些信息的函数,以便 可以打印到屏幕或写入文件,具体取决于我传递给函数的流类型。

我想要一个类似的功能:

void output(int x, default (what class do I need here??) &stream=cout){
    stream << x ;
}  

这样做的正确方法是什么??? 感谢您的帮助!

【问题讨论】:

标签: c++ stream


【解决方案1】:

您通常需要std::ostream&amp;。请注意,大多数程序员只会重载operator&lt;&lt;,而不是像您所做的那样定义一个单独的output() 函数。

【讨论】:

  • 感谢 chrisaycock 的帮助。我定义了一个输出函数,因为它接受了我需要将某些内容写入磁盘的其他变量的输入:)我只是将示例保持在最小范围内!
  • 我很抱歉,但如果我写它就不起作用: void output(default std::ostream& os=std::cout) 我收到一些语法错误消息。你会怎么写?
  • 一些通用语法错误..我从头开始重写了该函数,但它仍然有效..一定是一些愚蠢的错字...
  • 我认为void output(default std::ostream&amp; os=std::cout) 中的关键字default 无效。要通过为参数提供默认值来重载函数,只需添加 `` = value, no default`` 即可。
猜你喜欢
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2019-10-24
  • 1970-01-01
  • 1970-01-01
  • 2017-04-25
相关资源
最近更新 更多