我确定这已经被问过了,但是搜索“ 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语句的情况下退出函数(这很重要,因为我使用的boost线程不能使用void之外的其他函数),并且让main函数能够看到函数的变化做到了。
抱歉,这太基础了,但是我认为正确的方法无法正常工作,而且我似乎找不到我想要的东西。
提前致谢
最佳答案
接受参考:
void fun(neighbor **& candidate);
或指针:
void fun(neighbor *** candidate);
在C ++中几乎没有理由需要双指针间接寻址。您几乎可以肯定没有充分利用该语言。
关于c++ - C++基本双指针传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15316935/