I use C ++ to use simple sorting algorithms. I have a driver that will ask the user for size and create 2 dynamic tables of this size. The first is a control that I can copy in the second table after the call of each individual sorting method. I wrote a method called swap that takes an array and two integers (related to the location of the values exchanged) that was declared with 3 parameters but when I call it, I get a mistake.

I've tried searching for the error code and I think it has something to do with the chart being adopted, but I do not understand why the error occurs.

```
void bubble(int list(), int size) {
for (int i = 0; i < size - 1; i++) {
for (int k = 0; k < size - 1; k++) {
if (list(k) > list(k + 1)) swap(list, k, (k + 1));
}
}
}
void selection(int list(), int size) {
for (int i = 0; i < size - 1; i++) {
int index = 0;
for (int k = 1; k < size - 1; k++) {
if (list(k) > list(index)) index = k;
}
swap(list, index, (size - (i + 1)));
}
}
void swap(int list(), int k, int k2) {
int temp = k;
list(k) = list(k2);
list(k2) = temp;
}
```

Error Code C2660: std :: swap: the function does not take 3 arguments

which points to the two called swap instances.