2012-02-27 65 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