V2007. This expression can be simplified. One of the operands in the operation equals NN. Probably it is a mistake.

Данное диагностическое предупреждение добавлено по просьбе пользователей.

Анализатор позволяет обнаружить ряд подозрительных бинарных операций:

  • операции '^', '+', '-', '<<', '>>', где один из операндов равен 0;
  • операция '&' , где один из операндов равен -1;
  • операции '*', '/', '%' , где один из операндов равен 1;

Диагностическое правило V2007 помогает выполнить рефакторинг кода и иногда выявить ошибки.

Примеры конструкций, на которые анализатор выдаст данное диагностическое сообщение:

int X = 1 ^ 0;
int Y = 2 / X;

Приведённый код можно упростить. Пример корректного кода:

int X = 1;
int Y = 2;

Для сокращения количество ложных сообщений, есть несколько исключений. Например, диагностическое сообщение V2007 не выдается в случае, если подозрительное выражение находится в макросе или является индексом массива.

Данная диагностика классифицируется как:


Найденные ошибки

Проверено проектов
411
Собрано ошибок
14 123

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;
Этот сайт использует куки и другие технологии, чтобы предоставить вам более персонализированный опыт. Продолжая просмотр страниц нашего веб-сайта, вы принимаете условия использования этих файлов. Если вы не хотите, чтобы ваши данные обрабатывались, пожалуйста, покиньте данный сайт. Подробнее →
Принять