Операция равенства в операторе назначения
Этот дефект возникает при использовании оператора равенства вместо оператора назначения в простом операторе.
Использование == оператор вместо оператора = оператор может молча выдать неверные результаты. Если требуется присвоить значение переменной, назначение не выполняется. Переменная сохраняет свое предыдущее значение или, если не инициализирована ранее, остается неинициализированной.
Используйте = (присвоение) оператор вместо == (равенство) оператор.
Проверка появляется в цепях операторов назначения и равенства, таких как:
compFlag = val1 == val2;
compFlag = (val1 == val2);
Если использование == оператор предназначен для добавления комментариев к результату или коду, чтобы избежать другого обзора. См. раздел Результаты анализа пространства адресов с помощью исправлений ошибок или обоснований.
| Группа: Программирование |
| Язык: C | C++ |
| По умолчанию: Вкл для рукописного кода, выкл для сгенерированного кода |
Синтаксис командной строки: BAD_EQUAL_EQUAL_USE |
| Воздействие: Высокое |
| CWE ID: 480, 482 |