このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
== 演算子の無効な使用
代入ステートメント内の等号演算子
説明
この欠陥は、単純なステートメントで代入演算子ではなく等号演算子が使用された場合に発生します。
リスク
=
演算子ではなく ==
演算子を使用すると、気付かないうちに間違った結果が生じる可能性があります。変数に値を代入することを意図していた場合、代入は行われません。変数は以前の値を保持するか、以前に初期化されていない場合、未初期化のままになります。
修正方法
==
(等号) 演算子ではなく、=
(代入) 演算子を使用します。
次のような代入演算子と等号演算子の連鎖に対してチェックが表示されます。
compFlag = val1 == val2;
compFlag = (val1 == val2);
==
演算子の使用を意図している場合は、改めてレビューされないように結果またはコードにコメントを追加します。詳細は、以下を参照してください。
Polyspace ユーザー インターフェイスでのバグ修正または正当化による結果への対処 (Polyspace ユーザー インターフェイスで結果をレビューする場合)
Polyspace Access でのバグ修正または正当化による結果への対処 (Polyspace Access) (Web ブラウザーで結果をレビューする場合)。
コードへの注釈付けと既知の結果または許容可能な結果の非表示 (IDE で結果をレビューする場合)
例
結果情報
グループ: プログラミング |
言語: C | C++ |
既定値: 手書きコードはオン、生成コードはオフ |
コマンド ライン構文: BAD_EQUAL_EQUAL_USE |
影響度: High |
バージョン履歴
R2013b で導入