|
|
1
6
你在过小溪。你没见过驱鬼器吗?不要过河。 你要穿过这里的小溪:
我不明白这一点。你想做什么?CRTP?不是这样的。 问题不在推回,问题是,“这个”是无效的。 当你拥有
它被编译成一个nop。这不是同意的,一切都很好。
除了在a的上下文中调用它。这个值是什么?它在任何地方都没有初始化。所以这等于内存中的所有内容,其中一个快乐的未初始化列表正在等待。 修复?
这样做会更好。但是……
这就是CRTP的工作方式。 |
|
|
2
4
如果我记得正确的话,有些甚至不是所有的STL容器都需要一个复制构造函数和赋值操作符。如果您依赖于这两个系统的默认设置,或者在进行深度拷贝时进行浅拷贝,那么这可能是您的SegFault的原因。 |
|
|
3
2
我猜list是cpage对象的一个副本,如果cpage在这种情况下不SegFault,您检查过复制构造函数吗? |
|
|
4
1
听起来像
或者,f()是成员函数吗?你确定它(
|
|
|
5
1
您可能正在重复删除。cpage的析构函数是否进行了一些清理?如果是这样,并且cpage没有增加refcount或进行深度复制的复制构造函数,则清除将发生两次。 |
|
|
6
0
您需要指定赋值(=)运算符,以便排序例程可以为列表成员分配新的顺序。之后我想你会没事的。 |
|
|
7
0
发现了这个虫子:它真的很微妙。 在代码中,x是一个指针,它没有在基类中初始化。调用x->f()将访问vtable以调用派生类b中的正确函数。 但是,由于指针值未初始化,“this”参数是错误的。尝试访问列表是一个无效操作,代码崩溃。 若要更正此错误,请在constrof类型t中传递com的参数,该参数将由派生类的构造函数初始化为该参数。
|
|
|
Julia · 矢量中相加为总和S的值的数量 3 年前 |
|
|
C_Rod · 在模板方法中确定STL容器中项目的数据类型 4 年前 |
|
|
quantumwell · 将空向量放入std::map() 8 年前 |
|
|
OutOfBound · 对未初始化内存使用算法的优点 8 年前 |
|
|
DarthRubik · 在使用列表删除之后,迭代器如何不无效 8 年前 |