V671. The 'swap' function may interchange a variable with itself.
The analyzer has detected a potential error that may occur when calling the 'swap' function. The function receives identical actual arguments, which is very strange. The programmer must have made a misprint.
Have a look at this example:
int arg1, arg2; .... swap(arg1, arg1); ....
A misprint causes the swap() function to swap the value of the 'arg1' variable for itself. The code should be fixed in the following way:
The following sample is also considered suspicious:
MyClass arg1, arg2; .... arg1.Swap(arg1); ....
It can be fixed in the following way:
This diagnostic is classified as:
You can look at examples of errors detected by the V671 diagnostic.