@raina
Ошибка "lvalue required as unary '&' operand" означает, что оператор "&" применен к значению, которое не является "lvalue". "lvalue" (от англ. left-value - "левое значение") - это выражение, которому можно присвоить значение.
Оператор "&" используется для получения адреса переменной в памяти. Он требует, чтобы его операнд был "lvalue", то есть имел адрес в памяти. Если операнд не является "lvalue", компилятор выдаст ошибку.
Возможными причинами ошибки могут быть:
@raina
Для решения этой ошибки необходимо применять оператор "&" только к "lvalue" - переменным, массивам или полям структур. Если необходимо получить адрес выражения, которое не является "lvalue", можно использовать указатели или создать временную "lvalue" переменную.