2012-02-27 67 views
1

以及我需要做一個叫做從TList類有一個私有屬性和櫃檯C++雙指針數組列表

private: 
    TPerson **pListe; 
    int counter; 

TPerson另一類我之前提出。計數器就是知道數組的位置。 所以我需要建立一個有像

Add(TPerson *p), Delete(TPerson *p) 

方法列表現在我的問題是: 我怎樣才能那些TPerson對象添加到我的雙指針列表?

我我

void TListe::Add(TPerson &p) {...} 

方法。

我嘗試過這樣: pListe [counter] =&p;

例如,它不工作..有人可以解釋我如何我需要使用雙指針數組並使用它們作爲列表?

問候

+0

不能單純使用''的std :: vector''?聽起來沒有那麼麻煩,而且在您的情況下,這是推薦的方法,因爲我不確定當「counter」超出pListe中最後分配的單元格時如何處理這種情況。 – foxx1337 2012-02-27 12:10:37

+0

如果這是家庭作業,你應該添加'[作業]'標籤。這可以讓別人知道他們應該如何回答(解釋,而不是解決你的直接問題)。如果它不是家庭作業,那麼你不應該首先嚐試寫一個動態數組數據結構,因爲它已經存在於標準庫中。 – jalf 2012-02-27 12:10:43

+0

你會得到什麼錯誤?你是在什麼時候建造的?運行時崩潰?你已經分配了數組? – 2012-02-27 12:11:07

回答

2

我對你們的代碼示例困惑,*pListe將舉辦指針TPerson對象數組的第一個元素,或者只是指針TPerson?我想你,你需要首先分配指針數組人:

pListe = new TPerson* [size]; 

那麼你可以做:

Add(TPerson* p) { 
pListe[some_counter_to_past_the_last_element] = p; 
... 
} 

Add(TPerson& p) { 
pListe[some_counter_to_past_the_last_element] = &p; 
... 
} 
+0

ahhh謝謝你..那有效。我的錯誤是我正在使用「pListe [some_counter_to_past_the_last_element] = * p; – darkdog 2012-02-27 12:35:56