1

私はOpenCLを初めて使用し、OpenCLに単純な関数を実装しようとしています。この関数は、カーネル関数から呼び出されることになっています。

void swap(int *a, int *b)
{
    int *temp = a;
    b = a;
    a = temp;
}

ただし、呼び出すと、スワップは機能しません。

参照によってパラメータを渡す方法はありますか?

4

1 に答える 1

4

あなたが関数を書いた方法では、それは何もしていません。ポインタを割り当てているだけです。あなたはこれを持っている必要があります:

void swap(int *a, int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

私が覚えている限り、参照パラメータは許可されていません。

于 2012-08-21T16:40:28.037 に答える