C ++:调用了错误的析构函数

雨链

Projectile是的子类Node我希望Projectile调用析构函数。

注:在实际生活的场景,我有一个列表Node*ProjectilePlayer或者Enemy,每个都有自己的析构函数。

Node在中没有指定的析构函数.h file(我假设它使用默认析构函数。)

    Node* p = new Projectile();
    delete(p); //Projectile destructor is never called
阿米·塔沃里(Ami Tavory)

首先,它似乎从你的问题是很清楚的Projectile子类Node(参见本百科词条)。

如果您有一个Node为子类构建的类,则应确保其析构函数是虚拟的:

class Node
{
...
    virtual ~Node();
};

这将导致编译器调用适当的类s destructor when youdelete指向超类的指针。

(另一个问题是它是否应该是纯虚拟的。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C++ 析构函数调用了错误的对象?

来自分类Dev

C ++中的析构函数直接调用

来自分类Dev

析构函数在C ++中调用向量

来自分类Dev

C ++中的析构函数直接调用

来自分类Dev

C ++意外的析构函数调用

来自分类Dev

C ++析构函数未调用

来自分类Dev

什么时候在C ++中确切地调用了一个类的析构函数?

来自分类Dev

C ++析构函数是否总是或仅有时调用数据成员析构函数?

来自分类Dev

C ++。在析构函数中调用虚拟成员函数

来自分类Dev

C ++:析构函数在对象范围之外被调用?

来自分类Dev

为什么在构造时调用C ++类的析构函数?

来自分类Dev

您是否在C ++中的析构函数中调用delete?

来自分类Dev

通过基本指针的C ++显式析构函数调用

来自分类Dev

如何跟踪析构函数在哪里被调用-C ++

来自分类Dev

C ++调用嵌套模板类的析构函数

来自分类Dev

离开范围时析构函数调用的顺序?(C ++)

来自分类Dev

C ++的boost :: python包装对象的析构函数调用

来自分类Dev

C ++调用析构函数而不释放内存

来自分类Dev

在C ++中调用虚拟析构函数的顺序

来自分类Dev

C ++:删除对象而不调用析构函数

来自分类Dev

为什么在构造时调用C ++类的析构函数?

来自分类Dev

C ++:简单的任务,析构函数被多次调用

来自分类Dev

C ++的boost :: python包装对象的析构函数调用

来自分类Dev

C ++中的delete和free之间有什么区别,而C ++的默认析构函数调用了哪一个?

来自分类Dev

C++ 可以使析构函数不调用类成员的析构函数和基类的析构函数吗?

来自分类Dev

C ++析构函数约定

来自分类Dev

[c ++]缺少析构函数

来自分类Dev

在C ++中,当delete调用析构函数时,析构函数的主体是否在释放内存之前触发?

来自分类Dev

没有析构函数的C ++函数

Related 相关文章

  1. 1

    C++ 析构函数调用了错误的对象?

  2. 2

    C ++中的析构函数直接调用

  3. 3

    析构函数在C ++中调用向量

  4. 4

    C ++中的析构函数直接调用

  5. 5

    C ++意外的析构函数调用

  6. 6

    C ++析构函数未调用

  7. 7

    什么时候在C ++中确切地调用了一个类的析构函数?

  8. 8

    C ++析构函数是否总是或仅有时调用数据成员析构函数?

  9. 9

    C ++。在析构函数中调用虚拟成员函数

  10. 10

    C ++:析构函数在对象范围之外被调用?

  11. 11

    为什么在构造时调用C ++类的析构函数?

  12. 12

    您是否在C ++中的析构函数中调用delete?

  13. 13

    通过基本指针的C ++显式析构函数调用

  14. 14

    如何跟踪析构函数在哪里被调用-C ++

  15. 15

    C ++调用嵌套模板类的析构函数

  16. 16

    离开范围时析构函数调用的顺序?(C ++)

  17. 17

    C ++的boost :: python包装对象的析构函数调用

  18. 18

    C ++调用析构函数而不释放内存

  19. 19

    在C ++中调用虚拟析构函数的顺序

  20. 20

    C ++:删除对象而不调用析构函数

  21. 21

    为什么在构造时调用C ++类的析构函数?

  22. 22

    C ++:简单的任务,析构函数被多次调用

  23. 23

    C ++的boost :: python包装对象的析构函数调用

  24. 24

    C ++中的delete和free之间有什么区别,而C ++的默认析构函数调用了哪一个?

  25. 25

    C++ 可以使析构函数不调用类成员的析构函数和基类的析构函数吗?

  26. 26

    C ++析构函数约定

  27. 27

    [c ++]缺少析构函数

  28. 28

    在C ++中,当delete调用析构函数时,析构函数的主体是否在释放内存之前触发?

  29. 29

    没有析构函数的C ++函数

热门标签

归档