我曾经用C#或Java进行编程,所以在C++中确实表现不佳。我相信这很容易,但我做不到。请帮我。

我有这个:
void swap(vector * vet, int i, int j){ int temp = vet[i]; vet[i] = vet[j]; vet[j] = temp;}
我这样调用该方法:
swap(&vet, j, j - 1);
我想要的是使用指针而不是使用值传递 vector 。

Obs:在没有“*”和“&”的情况下,代码可以很好地编译。

请不要说我至少必须尝试学习指针,因为我这样做了。我只是无法使这该死的东西起作用!

最佳答案

您可以尝试类似...。

void swap(vector<int> &vet, int i, int j)
{
    int temp = vet[i];
    vet[i] = vet[j];
    vet[j] = temp;
}

然后调用您的交换函数为
swap(vet,i,j);

底线:使用引用变量。它们更像Java中的引用。

10-08 13:31