Предупреждение C6319
Использование оператора-запятой в тестируемом выражении приводит к тому, что левый аргумент игнорируется, если он не имеет побочных эффектов
Замечания
Это предупреждение указывает на пропущенное вложенное выражение в тестовом контексте из-за оператора запятой (,
). Оператор-запятая имеет ассоциативность слева направо. Результатом оператора запятой является последнее выражение. Если левое выражение для оператора запятой не имеет побочных эффектов, компилятор может опустить создание кода для выражения.
Имя анализа кода: IGNOREDBYCOMMA
Пример
Следующий код создает это предупреждение:
void f()
{
int i;
int x[10];
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
Чтобы исправить это предупреждение, используйте логический оператор AND, как показано в следующем коде:
void f()
{
int i;
int x[10];
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по