表达式必须是可修改的lValue:(x,y) = 0;
这个表达式是错误的,因为(x,y)
不是一个可修改的lValue。在C++中,lValue是一个可以出现在赋值操作符左边的表达式,它代表一个可以被修改的内存位置。而(x,y)
是一个逗号表达式,它的结果是最后一个表达式的值,但它本身不是一个lValue。
如果想要将0赋值给x和y,正确的写法应该是:
x = 0;
y = 0;
这样就可以将0赋值给x和y了。
关于lValue和rValue的概念,lValue代表一个可以被引用的对象,而rValue代表一个临时的、不可修改的值。在C++中,lValue可以出现在赋值操作符的左边,而rValue只能出现在右边。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云