Member 13346994 Ответов: 2

Ошибка: нет совпадения для 'operator=' in 'std:: cout. std:: basic_ostream


Учитывая следующий код:
int number = 49;

каковы будут выходные данные после выполнения следующих операторов?

if(number >= 50)
cout << "yes" << endl;
cout << number = number + 1;


[добавлен]
Каков будет результат? 50 или Да 50?
[/добавлен]

Что я уже пробовал:

#include <iostream>
using namespace std;

int main ()

{
    int number = 49;

    if ( number >= 50)
    {
        cout << "Yes " << endl;
        cout << number = number + 1;
    }

}

2 Ответов

Рейтинг:
2

CPallini

Цитата:
cout < & lt; number = number + 1;
Это утверждение неверно (как заметил компилятор :-) ), потому что оператор вставки имеет более высокий приоритет, чем оператор присваивания.



Следующая программа
#include <iostream>
using namespace std;

int main()
{
  int number = 49;

  if ( number >= 50)
    cout << "Yes " << endl;
  cout << (number = number + 1);
}


выходы просто 50.


Рейтинг:
0

Patrice T

Вывод этого кода:

#include <iostream>
using namespace std;
int main ()
{
    int number = 49;
    if ( number >= 50)
    {
        cout << "Yes " << endl;
        cout << (number = number + 1);
    }
}

ничего такого, как я понимаю этот код.