# V587. Suspicious sequence of assignments: A = B; B = A;.

Анализатор обнаружил потенциальную ошибку, связанную с бессмысленным взаимным присваиванием переменных.

Рассмотрим пример:

    int A, B, C;
    ...
    A = B;
    C = 10;
    B = A;

Здесь присваивание "B = A" не имеет никакого практического смысла. Возможно, это опечатка или просто лишнее действие. Корректный вариант кода:

    A = B;
    C = 10;
    B = A_2;

Рассмотренный выше пример был искусственным. Рассмотрим, как эта ошибка может выглядеть в коде реального приложения:

    // Swap; exercises counters
    {
      RCPFooRef temp = f2;
      f2 = f3;
      f3 = f2;
    }

Корректный вариант:

    // Swap; exercises counters
    {
      RCPFooRef temp = f2;
      f2 = f3;
      f3 = temp;
    }

Взгляните на примеры ошибок, обнаруженных с помощью диагностики V587.