C ++基本双指针传递

时间:2013-03-09 23:03:50

标签: c++ function pointers

我确信之前已经问过这个问题,但是搜索“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函数能够看到改变了功能。

对不起,这是如此基本,但我认为是对的不行,我似乎无法找到我正在寻找的东西。 在此先感谢

1 个答案:

答案 0 :(得分:2)

接受参考:

void fun(neighbor **& candidate);

或指针:

void fun(neighbor *** candidate);

在C ++中几乎没有理由需要双指针间接。你几乎肯定不会充分利用这种语言。