Оператор присваивания =
работает, назначая все, что находится справа от оператора, к объекту слева. Таким образом, вы пытаетесь присвоить значение sum
, которое неинициализировано, на значение, полученное от x + y
, которое вы не можете назначить. Похоже, вы действительно хотите сделать:
sum = x + y;
Это не так, как в математике, где оператор =
просто означает, что оба операнда равны. В C++ (и во многих языках программирования) задано =
. Он назначает справа налево. Некоторые языки используют разные символы для оператора, чтобы избежать этой путаницы (например, :=
или <-
).
Reverse операнды, используйте 'сумму = х + y'. –
Как правило, вы должны включить свой код в вопрос, а не ссылаться на pastebin, чтобы будущие читатели могли его прочитать. Если код слишком длинный, попробуйте уменьшить его до меньшего примера, который показывает проблему; см. http://sscce.org/ для некоторых идей для этого. (В этом конкретном случае, однако, 'x + y = sum;' оказалось достаточно, чтобы точно определить проблему.) –