C++ отсутствует оператор "=" соответствующий этим операндам

#include <iostream>
#include <clocale>
using namespace std;
int main(int argc, char** argv)
{
    setlocale(LC_CTYPE, "rus");
    int n, m, k = 0;
    cout << "Введите n и m : ";
        cin >> n >> m; 
    cout << k = n++ * m;
    cout << "После вычисления выражения k=n++*m:" << endl;
    cout << "k = " << k << ", n = " << n << ", m = " << m << endl;
    cout << endl << "После вычисления выражения ++m>n:" << endl;

    ++m > n ? cout << "++m>n?: Да" : cout<<"++m > n ? : Нет";
        cout << ", k = " << k << ", n = " << n << ", m = " << m << endl << endl;
    system("pause");//задержка перед закрытием
    return 0;
}

Ошибка в части: cout << k = n++ * m;

Видел много похожих вопросов, но из них не понял решение для своего случая.


Ответы (1 шт):

Автор решения: DmitryK

Сделайте

// или так
    cout << (k = n++ * m);

// или так
    k = n++ * m;
    cout << k;

А сейчас получается что вы выводите в поток k, а потом потоку пытаетесь присвоить значение n++ * m

→ Ссылка