gpt4 book ai didi

c++ - C++默认输出流是什么导致错误?

转载 作者:行者123 更新时间:2023-12-01 15:10:16 25 4
gpt4 key购买 nike

我已经打开了要写入的文件,根据某些条件,有时我想将输出打印到屏幕上,有时还要将输出打印到文件上。所以我编辑了函数,就像这样:

Cacl(const std::string &str, const ofstream &to=std::cout)
但是我遇到了错误,这可能是什么原因引起的?
没有从'std::__ 1::ostream'(aka'basic_ostream ')到'const std::__ 1::ofstream'(aka'const basic_ofstream ')的可行转换
无效的Calculator::solve(const std::string&command,const ofstream&to = std::cout){

最佳答案

std::coutstd::ostream类型的对象,它是std::ofstream的基类(比std::ofstream更通用),因此您可以执行以下操作:

void Calculator::solve(const std::string &str, std::ostream &to = std::cout) {
// instead of ofstream ^^^^^^^
现在您也可以将 ofstream对象传递给此函数。
另外, ostream不应是 const,否则您将无法对其进行写入。

关于c++ - C++默认输出流是什么导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63254862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com