我看到了这个问题的许多不同的答案,看了很多,但我找不到问题的答案。
我得到的错误是
bitarray.c:27:19: error: lvalue required as left operand of assignment (newArr << i) ^= 1;
有任何想法吗? 谢谢
您正尝试从操作中为结果分配另一个结果。 请尝试以下正确的方法:
newArr = (newArr << i) ^ 1;
这个想法是你必须有一个有效的lvvalue,并且“<<”的临时结果不是有效的。 你需要一个像newArr这样的变量。 以下关于SO的答案解释了与这种情况相关的许多术语:
什么是rvalues,lvalues,xvalues,glvalues和prvalues?
希望我对这个问题有所了解!
“<<”是二进制运算符,就像“+”或“ - ”。 需要将其分配给变量。 对于Eg。 你不能只写这个+ b; 正确的方法是c = a + b;
以上就是c/c++开发分享错误:左值作为赋值的左操作数所需的左值(C)相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/541835.html