Рейтинг:
10
OriginalGriff
Это из-за "&" перед вами. internal_organ_cream
- уберите их обоих, и это сработает:
int internal_organ_cream = 5;
int liquid_organs = 7;
internal_organ_cream = liquid_organs;
Когда вы ставите "&" перед именем переменной, он возвращает адрес переменной, а не ее содержимое - но это будет объяснено позже, когда вы перейдете к указателям. На данный момент просто не используйте их вообще!
BerthaDusStuf
Привет, спасибо за ваш ответ, да, я действительно знаю, что делает &, и у меня также есть изрядная часть knoledge на указателях, но я все еще не знаю, почему там есть двойное равенство, а не одиночное. это что-то такое, о чем я узнаю, или этому есть простое объяснение? кроме того я не хочу делать это без амперсанда потому что я хочу чтобы он имел ту же самую резервную память а не делал копию
OriginalGriff
Пожалуйста, не играйте с глупыми комментариями - вы не приблизитесь к максимальной длине, но вы будете раздражать людей, ширина браузера которых в результате становится "все смешным"... Я удаляю его для вас, чтобы вы не получили ярлык "оскорбительный / троллинг".
Вам не нужно "==" для выполнения задания - причина, по которой он хотел его вместо одного"=", заключалась в том, что & перед первой переменной изменил его с lvalue на rvalue.
Значение lvalue может появиться слева от присваивания, а значение rvalue - нет-другое дело, что значение lvalue может быть назначено или изменено там, где значение rvalue не может быть изменено.
Левосторонних значений переменных, как "я", разыменование указателей, как "пи*", элементы массива, как модуль arr[10], и так далее.
Rvalues-это константы типа 666 или вычисленные значения строки "i * 2". И адреса переменных, конечно, как "&i".
Когда вы добавили амперсанд, вы изменили "internal_organ_cream" с lvalue на rvalue, поэтому компилятор предположил, что вы можете неправильно ввести назначение "=" и предназначили сравнение"==", и выдал вам соответствующее сообщение об ошибке / предупреждении.
BerthaDusStuf
о'кей, но потом я попробовал запустить эту программу, и она изменила ее значение, так что она не сравнивалась, а фактически присвоила ей это значение
OriginalGriff
Именно этого ты и хотел от него ... разве не так?
OriginalGriff
А длинное послание? Это также раздражает людей, которые получают 4K-строку "d", доставленную в их почтовый ящик ...