为常量语法或语义错误赋值?
Assigning a value to a constant syntax or semantic error?
第二行代码在C++中是语法错误还是语义错误?
int a = 7;
3 = a;
在标准的 C++ 上下文无关语法中,我发现这个语句在语法上是有效的。
这不是语法错误,因为语法可以从 assignment-expression (5.17) 派生到 integer_literal
然后是语义错误,如5.17所述:
All require a modifiable lvalue as their left operand and return an
lvalue referring to the left operand.
lvalue是语义概念,不是句法概念。
第二行代码在C++中是语法错误还是语义错误?
int a = 7;
3 = a;
在标准的 C++ 上下文无关语法中,我发现这个语句在语法上是有效的。
这不是语法错误,因为语法可以从 assignment-expression (5.17) 派生到 integer_literal
然后是语义错误,如5.17所述:
All require a modifiable lvalue as their left operand and return an lvalue referring to the left operand.
lvalue是语义概念,不是句法概念。