我目前有一个奇怪的程序segfaulting问题,但我无法发现错误。我认为问题归结为此。
struct S {int a; vector<sometype> b;}
S s1;
// fill stuff into a and b
S* s2 = new S();
*s2 = s1;
难道最终的复制在某种程度上是非法的吗?我现在真的很困惑...... 感谢
答案 0 :(得分:2)
如果sometype
在其用户定义的复制构造函数和/或赋值运算符中存在错误,则会出现此行为。您提供的代码完全合法。
答案 1 :(得分:0)
对不起,代码对我来说很好,除非在'sometype'
下隐藏了一些邪恶的东西