C6319
Ostrzeżenie C6319: użycie operatora przecinka w badanym wyrażeniu powoduje, że argument po lewej stronie zostanie zignorowany, jeśli nie spowoduje to żadnych efektów ubocznych
To ostrzeżenie wskazuje ignorowane wyrażenie podrzędne w kontekście testu związane z operatorem przecinka (,).Operator przecinka posiada łączność od lewej do prawej.Wynik operatora przecinka jest szacowany w ostatnim wyrażeniu.Jeśli wyrażenie po lewej stronie operatora przecinka nie powoduje skutków ubocznych, kompilator może pominąć generowanie kodu dla wyrażenia.
Przykład
Poniższy kod generuje to ostrzeżenie:
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
Aby poprawić to ostrzeżenie, użyj operatora logicznego AND, jak pokazano w poniższym kodzie:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}