Почему этот код выдает предупреждение, относящееся к оператору запятой?

Отвечая на этот вопрос , я наткнулся на этот код ...

#include 

int main()
{
    int const income = 0;
    std::cout << "I'm sorry your income is: " < income;    // this is line 6
}

... который содержит опечатку. Второй (предполагаемый) оператор в строке 6 был случайно записан как .

Кроме того, компиляция кода с использованием GCC 4.3.4 или 4.4.3 приводит к предупреждению:

prog.cpp: In function ‘int main()’:
prog.cpp:6: warning: right-hand operand of comma has no effect

Мой вопрос: почему возникает это конкретное предупреждение? К какому оператору запятой относится?

ПРИМЕЧАНИЕ. Я не защищаю намеренное использование одного в заявлении cout . Я просто наткнулся на это предупреждение, пытаясь найти ответ на другой вопрос, на который я ссылался, и мне любопытно, почему компилятор его генерирует.

8
задан Community 23 May 2017 в 11:55
поделиться