所以我有一个对象的构造函数,它在创建时设置一些值,然后将自己放在链表的末尾。
我遇到的问题是,当它将新对象的地址分配给列表的头部或尾部时,它分配,离开构造函数,并且由于某种原因头部和尾部都被重置为 0。
Object Object1("OddJob", 2, 2, 9);
调用构造函数
Object::Object(string label, float x, float y, float z)
{
x_ = x;
y_ = y;
z_ = z;
if(label == "")
{
label = "Object";
}
label_ = label;
if(headObject == 0)
{
headObject = this;
tailObject = this;
}
else
{
tailObject->next = this;
tailObject = this;
}
next = 0;
}
编辑:headObject 和 tailObject 是在 .h 文件中声明的全局变量。它们被声明为:
static Object * headObject;
static Object * tailObject;