本文介绍了左值要求作为增量操作数错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
int main()
{
int i = 10;
printf("%d\n", ++(-i)); // <-- Error Here
}
什么是错的 ++( - 我)
?请澄清。
推荐答案
-i
生成一个临时的,可以不适用 ++
上的临时(作为右值前pression的结果而产生)。 pre增量 ++
要求其操作数是一个左值, -i
不是一个左值,所以你得到的错误。
-i
generates a temporary and you can't apply ++
on a temporary(generated as a result of an rvalue expression). Pre increment ++
requires its operand to be an lvalue, -i
isn't an lvalue so you get the error.
这篇关于左值要求作为增量操作数错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!