Анализатор обнаружил потенциальную ошибку, связанную с бессмысленным взаимным присваиванием переменных.
Рассмотрим пример:
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. |