0

これは以前に尋ねられたと確信していますが、「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 以外の関数を使用できないブースト スレッドを使用しているため、これは重要です)、メイン関数で関数の変更を確認できるようにします。やりました。

申し訳ありませんが、これは非常に基本的なものですが、私が正しいと思うことが機能しておらず、探しているものが見つからないようです。前もって感謝します

4

1 に答える 1

2

参照を受け入れる:

void fun(neighbor **& candidate);

またはポインタ:

void fun(neighbor *** candidate);

C++ でダブル ポインター インダイレクションが必要になる理由はほとんどありません。ほとんどの場合、言語を最大限に活用していません。

于 2013-03-09T23:07:53.020 に答える