我遇到的问题是,当我的类 CLimb 运行其析构函数时,如果成员*parent
是NULL
我在调用析构函数之后但在执行主体之前收到“访问冲突写入位置 0xcccccccc”错误。
肢体.h
class CLimb
{
public:
CLimb(void);
CLimb(CLimb *_parent);
~CLimb(void);
float cut;
float bone;
float resistance;
CLimb *parent;
};
肢体.cpp
#include "limb.h"
CLimb::CLimb(void) :
cut(0),
bone(0),
resistance(0)
{
parent = NULL;
}
CLimb::CLimb(CLimb *_parent) :
cut(0),
bone(0),
resistance(0)
{
parent = _parent;
}
CLimb::~CLimb(void)
{
}
我还想知道我是否有 2 个实例,limb01
并且, if的父级limb02
在哪里被删除,现在指向一个不正确的地址。我将如何解决这个问题?我还必须添加一个指针吗?limb02
limb01
limb02
limb01->parent
*child