vc/vs常见报错:/****error C2106: '=' : left operand must be l-value****/

一、错误信息解析:

1、error,表示这是一条出错信息。 C语言信息一般有error(出错)和warning(警告)两种。 error是编译器遇到了致命错误,无法继续进行编译,必须修改。 warning是C语言编译器找到了一个可能非法的位置,但不影响编译,程序还能运行,有可能运行出错,也可能不影响。 

error必须修改,而部分warning可以不做修改。

2、C2106: 这个是VC/VS自行定义的一个错误编号。每种错误编号代表一种错误类型,有着对应的具体提示。

3、'=' : left operand must be l-value。这个就是具体的出错信息提示了。也是最有用的一部分。 这句表示=的左值必须是可赋值的左值。

二、出错原因。

出现这一提示,一般是赋值运算(=)左值为表达式。 

比如

1
2
int a;
a++=1;

左值a++为一个表达式。 

或者

1
2
int a,b,c;
a=b+c=2;

这样的。

还有可能是判断 ==被打错成了=,比如

1
if(a+b == c)

被打错成

1
if(a+b=c)

总之要查对应的赋值运算=左边部分。 必须是合法的变量,不能是表达式。 

三、修改方法。

可以双击出错讯息,会自动定位到出错行。 然后针对出错行代码,检查=的左侧。

参考:https://zhidao.baidu.com/question/1175279637269780859.html

posted @ 2018-03-03 16:18  张幼安  阅读(1545)  评论(0编辑  收藏  举报