前面有一个++运算符的一元表达式是前缀增量表达式。 一元表达式的结果必须可转换(5.1.8节)到数值类型的类型的变量,否则,会编译报错。前缀增量表达式的类型是变量的类型,前缀增量表达式的类型是变量的类型。前缀增量表达式的结果不是一个变量,而是一个值。
标红的那段话就是我不明白的地方,能否讲解一下,这句话表达的意思是什么?英文原句如下:
A unary expression preceded by a ++ operator is a prefix increment expression.
The result of the unary expression must be a variable of a type that is convertible
(5.1.8) to a numeric type, or a compile-time error occurs. The type of the prefix
increment expression is the type of the variable. The result of the prefix increment
expression is not a variable, but a value.
5 个解决方案
#1
额,最近这么少的人呢?
#2
不就是说能转成数字嘛?
bool型就不行..字符串也不行..
bool型就不行..字符串也不行..
#3
让其他人尝试翻译了一下:
前面有++操作符的一元表达式是前缀自增表达式,一元表达式的运算结果必须是一个可变换成数字类型的变量,否则会出现一个编译期错误。前缀自增表达式的类型作为那个变量的类型,前缀自增表达式的运行结果是一个值,而不是变量。
现在我有一个问题,一元表达式的运算结果必须是一个可变换成数字类型的变量,这句话中的可变换成数字类型的变量是什么意思呢? “一元表达式的运算结果必须是一个可变换成数字类型的变量”与“前缀自增表达式的运行结果是一个值,而不是变量”这不就结论冲突了么?
#4
我是这样理解:一元表达式的运算结果必须是一个可变换成数字类型的变量,这个变量所指:整型类型取值范围内任何一个整数值所以这里称为变量。而前缀自增表达式的运行结果是一个值:这个变量经过自增运算符操作后是一个常量一个值。
#5
……作者写完书之后不知道能否辨别出,此变量非彼变量。
#1
额,最近这么少的人呢?
#2
不就是说能转成数字嘛?
bool型就不行..字符串也不行..
bool型就不行..字符串也不行..
#3
让其他人尝试翻译了一下:
前面有++操作符的一元表达式是前缀自增表达式,一元表达式的运算结果必须是一个可变换成数字类型的变量,否则会出现一个编译期错误。前缀自增表达式的类型作为那个变量的类型,前缀自增表达式的运行结果是一个值,而不是变量。
现在我有一个问题,一元表达式的运算结果必须是一个可变换成数字类型的变量,这句话中的可变换成数字类型的变量是什么意思呢? “一元表达式的运算结果必须是一个可变换成数字类型的变量”与“前缀自增表达式的运行结果是一个值,而不是变量”这不就结论冲突了么?
#4
我是这样理解:一元表达式的运算结果必须是一个可变换成数字类型的变量,这个变量所指:整型类型取值范围内任何一个整数值所以这里称为变量。而前缀自增表达式的运行结果是一个值:这个变量经过自增运算符操作后是一个常量一个值。
#5
……作者写完书之后不知道能否辨别出,此变量非彼变量。