指针数组 与函数返回值问题

来源:百度知道 编辑:UC知道 时间:2024/05/02 19:46:25
已知一个指针数组 TABLE* p[MAX];
MAX代表255;
TABLE是一个类的名字。此类已经写好,而且内部有函数void GetCount()。

如何自己定义一个新的函数,返回这个指针数组(或者指向这个指针数组的指针)。

使得我们可以像类似下边这样访问TABLE类的内部函数。
p[i]->GetCount();

//TABLE* p[255]; 已定义
TABLE** GetTableP()
{
TABLE** ppT = (TABLE**)p;
return ppT;
}

如果你已知这个指针数组,你直接用就好了啊。
如果你的意思是你要在那个新函数里构造它的话,那你应该用(table *)malloc(MAX*sizeof(table))来分配一段内存,然后再用这段内存来构造你的指针数组,否则你在函数里构造出的指针数组就是函数里的一个local variable,不一定管用。用完malloc记得要free

分配内存
p[i] = new TABLE();
p[i]->GetCount();

理解你的意思大致是:
TABLE** func()
{
TABLE** pT = new(TABLE*[MAX]);
//开辟TABLE对象空间
//TABLE* P0=new TABLE;...
//保存TABLE对象指针
//pT[0]=P0;...
return pT;
}