Анализатор обнаружил потенциальную ошибку, связанную с тем, что одна из операций '!', '~', '-' или '+' повторяется два или более раз. Такая ошибка может произойти в случае опечатки. Такое дублирование операторов бессмысленно и может содержать ошибку.
Рассмотрим пример некорректного кода:
if (!(( !filter )))
{
....
}
Скорее всего, такая ошибка возникла после проведения рефакторинга кода. Например, была удалена часть сложного логического выражения, а отрицание всего результата осталось. В итоге, получилось противоположное по смыслу выражение.
Корректный вариант кода:
if ( filter )
{
....
}
Или:
if ( !filter )
{
....
}
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3075. |