我目前有一个奇怪的问题与程序segfaulting,但我不能够发现错误。我认为这个问题归结为这个问题。C++:复制到解除引用的指针
struct S {int a; vector<sometype> b;}
S s1;
// fill stuff into a and b
S* s2 = new S();
*s2 = s1;
难道是最终的复制在某些方面是非法的吗?我现在很困惑... 谢谢
我目前有一个奇怪的问题与程序segfaulting,但我不能够发现错误。我认为这个问题归结为这个问题。C++:复制到解除引用的指针
struct S {int a; vector<sometype> b;}
S s1;
// fill stuff into a and b
S* s2 = new S();
*s2 = s1;
难道是最终的复制在某些方面是非法的吗?我现在很困惑... 谢谢
如果sometype
在其用户定义的复制构造函数和/或赋值运算符中有一个错误,您将会得到此行为。您提供的代码是完全合法的。
对不起,代码看起来对我来说很好,除非某些邪恶隐藏在'sometype'下
你能解释一下你在做什么? – ckv 2010-06-09 09:12:11
是丹尼尔,我不得不重写一些不适当的设计库:( – bbb 2010-06-09 09:15:41
对不起,我删除了评论,但我的意思是代码很丑,但是不完整。 – 2010-06-09 09:16:30