为常量语法或语义错误分配一个值?

第二行代码是否被视为C ++中的语法错误或语义错误?

 int a = 7;
 3 = a;

在标准的C ++上下文无关文法中,我发现这个语句在语法上是有效的。


这不是语法错误,因为语法可以从赋值表达式(5.17)直到integer_literal

这是一个语义错误,如5.17所述:

所有需要一个可修改的左值作为它们的左操作数并返回一个左值指向左操作数。

左值是一个语义概念,而不是句法概念。

链接地址: http://www.djcxy.com/p/29937.html

上一篇: Assigning a value to a constant syntax or semantic error?

下一篇: Error States in Pod structure