2014-09-06 88 views
-5

我发对象的阵列的实例对象引用不设置对象

node[] allProcess = new node[3]; 

我想提出的数据成员在队列像

enque(allprocess[0].pName,allProcess[0].burstTime); 

但是它没有作品和错误显示是没有设置对象实例的对象引用,

我该怎么做?

回答

1

在访问属性之前,您需要初始化节点对象并将其添加到数组中。

node[] allProcess = new node[3]; 

node node1 = new node(); 
node1.pName = "name"; 

node[0] = node1; 

然后你可以访问这个节点数组的第一个位置。

+0

感谢您的帮助,但我可以通过循环或初始化所有元素的数组,而不是初始化它一个接一个 – 2014-09-07 08:04:38

0

当你初始化一个数组时,它被填充了数组基础类型的默认值:在你的情况下,node。由于node可能是参考类型(即类别),因此其默认值为null。试图访问一个成员,例如正如您所描述的那样,,null的值将生成NullReferenceException

这是可以预料的;那里没有任何对象,那么如何访问其成员?您需要以某种方式初始化数组元素,然后才能访问/取消引用它们。

+0

感谢您的所有帮助,请你能告诉我初始化所有元素的方式循环或什么 – 2014-09-07 12:33:57

+0

@ManishSingh这真的取决于你的'节点'对象实际上应该代表什么,他们应该包含什么数据,以及数据来自何处。我想你必须为自己工作这一个。 – 2014-09-07 16:39:43

+0

好吧@也许我会解决这个问题,我希望如此!不过谢谢你的帮助 – 2014-09-07 16:45:15

相关问题