C++ 错误:‘;std::ios_base::ios_base(const std::ios_base&;)和#x2019;是私人的
我在谷歌上搜索,发现这是因为复制了流。据我所知,在这段代码中并没有复制流C++ 错误:‘;std::ios_base::ios_base(const std::ios_base&;)和#x2019;是私人的,c++,stream,C++,Stream,我在谷歌上搜索,发现这是因为复制了流。据我所知,在这段代码中并没有复制流 error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private 你们能帮帮我吗。 提前谢谢 error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private ~ error: ‘std::ios_base::ios_base(const std::ios_base&
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
你们能帮帮我吗。
提前谢谢
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
~
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
尝试按值返回记录器
,这需要复制构造函数。编译器生成的复制构造函数尝试复制成员debug
。这就是为什么会出现错误
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
您可以实现复制构造函数(可能没有意义,因为debug
成员可能不同),也可以通过引用返回:
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
static Logger getLogger()
{
return log;
}
在这种情况下,这是安全的,因为日志
具有静态存储持续时间
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
正确的呼叫如下所示:
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
static Logger& getLogger()
{
return log;
}
在这种情况下,l
指的是Logger::log
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private