﻿# V671\. The 'swap' function may interchange a variable with itself\.

Анализатор обнаружил потенциальную ошибку, которая может возникнуть при вызове функции с именем 'swap'\. В функцию переданы одинаковые фактические аргументы\. Передача для этой функции одного и того же аргумента очень подозрительная ситуация\. Скорее всего, произошла опечатка\.

Пример некорректного кода:

```cpp
int arg1, arg2;
....
swap(arg1, arg1);
....
```

Из\-за опечатки функция  swap\(\) обменивает значение переменной 'arg1'  само с собой\. Корректным вариантом кода должно было быть:

```cpp
swap(arg1, arg2);
```



Так же подозрительным анализатор будет считать следующий код:

```cpp
MyClass arg1, arg2;
....
arg1.Swap(arg1);
....
```

Исправить его можно аналогичным образом:

```cpp
arg1.Swap(arg2);
```