C++ 错误:左值需要作为赋值的左操作数,我得到了这个错误什么是左值和右值,以及如何删除这个错误
我在编译代码时遇到了这个错误 这是密码C++ 错误:左值需要作为赋值的左操作数,我得到了这个错误什么是左值和右值,以及如何删除这个错误,c++,c,linux,C++,C,Linux,我在编译代码时遇到了这个错误 这是密码 #include <iostream> using namespace std; int main() { int l,n,w,h; cin>>l>>n; while(n--){ cin>>w>>h; if(w>l||h>l) cout<<"CROP IT"<<endl;
#include <iostream>
using namespace std;
int main()
{
int l,n,w,h;
cin>>l>>n;
while(n--){
cin>>w>>h;
if(w>l||h>l)
cout<<"CROP IT"<<endl;
if(w==l&&h==l&&w=h)
cout<<"ACCEPTED"<<endl;
if(w<l||h<l)
cout<<"UPLOAD ANOTHER"<<endl;
}
}
错误呢
11:22:错误:赋值的左操作数需要左值
您的ifw==l&&h==l&&w=h可能是错误的。由于运算符的优先级,它正在执行ifw==l&&h==l&&w=h。w==l&&h==l&&w部分创建一个临时值。临时变量总是右值,不能将h赋给它
我想你是想写ifw==l&&h==l&&w==h,但实际上,最后一个w==h有什么意义?如果w和h都等于l,那么w肯定等于h。因为运算符的优先级,w==l&&h==l&&w=h被视为w==l&&h==l&&w=h。 第一部分是右值,因此不能将其分配给h
您想确定w==l&&h==l&&w==h.这是一个重复的问题。请参阅:使用空格键将更容易发现原因。