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 回答