0

そのため、作成時にいくつかの値を設定し、リンクされたリストの最後に配置するオブジェクトのコンストラクターがあります。

私が抱えている問題は、新しいオブジェクトのアドレスをリストの先頭または末尾に割り当てると、割り当ててコンストラクタを離れ、何らかの理由で先頭と末尾の両方が 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;
4

2 に答える 2