2014-09-06 118 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

相關問題