共用方式為


C6287

更新:2007 年 11 月

警告 C6287: 多餘的程式碼: 左邊和右邊的子運算式完全相同

這個警告表示在運算式中偵測到多餘的項目。

如果不檢查程式碼,會很難判斷此問題的嚴重性。本身的重複測試並無害,但刪除第二個測試的後果可能會很嚴重。應該檢查程式碼,以確保測試未被省略。

範例

下列程式碼將產生出這個警告:

void f(int x)
{
  if ((x == 1) && (x == 1)) 
  {
    //logic 
  }
  if ((x != 1) || (x != 1))
  {
    //logic
  }
}

下列程式碼會顯示修正這個警告的各種方法:

void f(int x, int y)
{
  /* Remove the redundant sub-expression: */
  if (x == 1) 
  {
     // logic 
  }
  if (x != 1) 
  {
    // logic
  }
  /* or test the missing variable: */
  if ((x == 1) && (y == 1))
  {
     // logic
  }
  if ((x != 1) || (y != 1))
  {
     // logic
  }
}