我的结构有问题。我正在研究蒙特卡罗树搜索算法的实现,我创建了一个名为Node的结构,它具有特定的变量。 现在我需要存储父类型以及node类型的子对象。由于节点可以是其他节点的父节点,也可以是节点的子节点,因此这很重要。
[System.Serializable]
public struct Node
{
public Transform[,] CurrentField_V;
public Transform[,] CurrentField_H;
public Transform[,] CurrentField_Boxes;
public Node [] nodeChildren;
public Node [] parent;
public int result;
public bool isTerminal;
public bool alreadyChecked;
public int y;
public int x;
public int visitTimes;
这就是问题所在:
public Node Expand(Node v)
{
Debug.Log("Start EXPANSION");
//create a new node
Node newNode = new Node();
newNode.parent[0] = v; //---------> NULL REFERENCE EXCEPTION
newNode.CurrentField_V = v.CurrentField_V;
newNode.CurrentField_H = v.CurrentField_H;
v.nodeChildren[counter] = newNode;//---------> NULL REFERENCE EXCEPTION
newNode.visitTimes++;
}
有没有人知道如何解决这个问题?