这个错误的原因大概是std::ios_base类的拷贝构造函数是私有的,从return s语句返回时缺少一个合成的构造拷贝构造函数完成流的复制。
错误代码示例:
重载输出操作符时,由于流对象不能复制,因此如果以值(by value)形式返回时,无法完成从s到std::osream的复制,因此导致上述错误。
解决方法是返回流的引用,即改变函数的返回类型为:std::ostream&即可。
error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private ios_base(const ios_base&); synthesized method ‘std::basic_ostream<char>::basic_ostream(const std::basic_ostream<char>&)’ first required here
来源:清泛原创 2016-10-24 17:42:08 人气: 我有话说( 0 人参与)
这个错误的原因大概是std::ios_base类的拷贝构造函数是私有的,从return s语句返回时缺少一个合成的构造拷贝构造函数完成流的复制。错误代...
这个错误的原因大概是std::ios_base类的拷贝构造函数是私有的,从return s语句返回时缺少一个合成的构造拷贝构造函数完成流的复制。
错误代码示例:
重载输出操作符时,由于流对象不能复制,因此如果以值(by value)形式返回时,无法完成从s到std::osream的复制,因此导致上述错误。
解决方法是返回流的引用,即改变函数的返回类型为:std::ostream&即可。
上一篇:warning: xxx will be initialized after [-Wreorder]
下一篇:passing xxx as 'this' argument of xxx discards qualifiers