我确信之前已经问过这个问题,但是搜索“c ++”“指针”“功能”“数组”让我无处可去。
我在main中声明了一些看起来像这样的东西:
struct point{
float x;
float y;
int m;
float points[10];
point *next;
};
struct neighbor{
float dist;
point *pt;
};
neighbor **candidate = NULL;
我想把“候选人”传递给我能做的功能:
candidate = new neighbor*[10];
for(int i = 0;i<10;i++)
candidate[i] = new neighbor;
用各种数据填充它然后退出函数而不使用return语句(这很重要,因为我使用的是不能使用void以外的函数的boost线程)并且main函数能够看到改变了功能。
对不起,这是如此基本,但我认为是对的不行,我似乎无法找到我正在寻找的东西。 在此先感谢
答案 0 :(得分:2)
接受参考:
void fun(neighbor **& candidate);
或指针:
void fun(neighbor *** candidate);
在C ++中几乎没有理由需要双指针间接。你几乎肯定不会充分利用这种语言。