共用方式為


C6319

警告 C6319: 在測試的運算式中使用逗號運算子會導致左邊的引數 (如果它沒有副作用) 被忽略

這則警告指出因在測試內容中使用逗號運算子 (,) 而導致子運算式遭到忽略。 逗號運算子具有由左到右的順序關聯性 (Associativity)。 而逗號運算子的結果就是所評估的最後運算式。 如果逗號運算子左邊的運算式沒有副作用,編譯器可能會省略運算式產生程式碼的動作。

範例

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

void f()
{
  int i;
  int x[10];

  // code 
  for ( i = 0; x[i] != 0, x[i] < 42; i++)  // warning
  {
    // code
  }
}

若要更正這則警告,請使用邏輯 AND 運算子,如下列程式碼所示:

void f()
{
  int i;
  int x[10];

  // code 

  for ( i = 0; (x[i] != 0) && (x[i] < 42); i++) 
  {
    // code
  }
} 

請參閱

參考

Logical AND Operator: &&

Comma Operator: ,