ostringstream和复制构造函数出现问题
Problem with ostringstream and copy constructor
可能的重复:
为什么不允许复制字符串流
如何在C++中从一个字符串流对象复制到另一个?
编译类T失败,Visual C++和GCC产生iostreams模板错误。这是代码:
#include <sstream>
class T
{
static T copy;
std::ostringstream log;
T() {}
T(const T& t) {log = t.log;}
~T() {copy = *this;}
};
T T::copy;
将log数据成员类型更改为字符串可以使其编译并运行。这是合法行为吗?
C++中任何流类的复制构造函数和复制赋值都已成为private
。也就是说,您不能复制std::ostringstream
对象:
std::ostringstream ss;
std::ostringstream ss1(ss); //not allowed - copy-constructor is private
ss1=ss; //not allowed - copy-assignment is private
std::ostringstream
是不可复制的,这就是您出现错误的原因。请参阅此答案了解更多详细信息,以了解如何克服此问题。
T(const T& t) {log << t.log.rdbuf(); }
我认为ostringstream没有重载赋值(=(运算符。
相关文章:
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- constexpr构造函数需要常量成员函数时出现问题
- 有关 c++ 构造函数的问题
- 关于复制构造函数的一个棘手问题
- 复制构造函数隐式转换问题
- 构造函数 (C++) 中的 char 指针参数存在问题
- C++:关于使用 Stroustrup 示例移动构造函数/赋值的问题
- 关于 std::bitset 构造函数的几个问题?
- 构造函数和 G++ 编译配方的问题
- 在 boost::variant 中类 holden 的复制构造函数存在问题
- C++ 关于两个类构造函数的问题
- 在构造函数 c++ 中初始化属性时出现问题
- 空构造函数和值传递问题
- 我是否需要在虚拟继承类的构造函数中初始化基类以解决菱形继承问题?
- 复制和赋值构造函数的问题
- 变分模板递归构造函数问题
- C++中用户定义的构造函数出现问题
- C ++回测问题:如何检查构造函数在假定失败时是否失败(给定输入的无效参数)
- C++的抽象类继承和构造函数的问题
- 错误 C2280 / 在 std::vector 中实例化对象时复制构造函数出现问题?