首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么表达式“I_VALUE”不能用作函数中的赋值目标

表达式"I_VALUE"不能用作函数中的赋值目标,因为"I_VALUE"是一个常量表达式,它的值在编译时就确定了,并且不能被修改。在函数中,赋值目标应该是一个可以被修改的变量,而不是一个常量。

常量表达式是指在编译时就可以确定结果的表达式,例如字面值、常量变量、常量表达式的组合等。常量表达式的值在编译时就被计算出来,并且无法在运行时修改。

在函数中,赋值目标通常是一个变量,它可以在函数执行过程中被修改。通过将值赋给变量,我们可以在函数中存储和操作数据。

如果想在函数中使用一个常量值,可以将常量值赋给一个变量,然后在函数中使用该变量进行操作。这样可以保证函数中的赋值操作是有效的,并且可以修改变量的值。

总结起来,表达式"I_VALUE"不能用作函数中的赋值目标,因为它是一个常量表达式,而函数中的赋值目标应该是一个可以被修改的变量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nextline函数_在JAVAScannernext()和nextLine()为什么不能一起使用?

很好实现 …… 就继续在这里记录一下 Scanner 坑吧 一、next & nextLine 区别next不能得到带有空格字符串 一定要读到有效字符后才可以结束,结束条件是碰到空格、tab 键、...、tab 键、enter 键都不能当作结束符。...回车符 “\r” 它被丢弃在缓冲区,现在缓冲区,只有一个 \r ,于是 下一次 nextLine 扫描时候就又扫描到了 \r,返回它之前内容,也是啥都没有 “” ,然后再把 \r 去掉, 对于...这个扫描器在扫描过程判断停止依据就是“结束符”,空格,回车,tab 都算做是结束符 而坑点在于 next 系列,也就是下面这些函数:next nextInt nextDouble nextFloat...这些函数与 nextLine 连用都会有坑 坑点就是 next 系列函数返回了数据后,会把回车符留在缓冲区,因此我们下一次使用 nextLine 时候会碰到读取空字符串情况 解决方案:输入都用

2.7K10

C++引用详解

(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名别名。...引用应用 1、引用作为参数   引用一个重要作用就是作为函数参数。...这时,被调函数形参就成为原来主调函数实参变量或对象一个别名来使用,所以在被调函数对形参变量操作就是对其相应目标对象(在主调函数操作。...,系统不生成返回值副本 23 //可以从被调函数返回一个全局变量引用 24 cout<<a<<c<<d; 25 }   引用作为返回值,必须遵守以下规则: (1)不能返回局部变量引用...【例6】 测试用返回引用函数值作为赋值表达式左值。

1.3K50
  • C++引用高级使用!

    (2)类型标识符是指目标变量类型。 (3)声明引用时,必须同时对其进行初始化。 (4)引用声明完毕后,相当于目标变量有两个名称即该目标原名称和引用名,且不能再把该引用名作为其他变量名别名。...: 1、引用作为参数: 引用一个重要作用就是作为函数参数。...这时,被调函数形参就成为原来主调函数实参变量或对象一个别名来使用,所以在被调函数对形参变量操作就是对其相应目标对象(在主调函数操作。...2、常引用: 常引用声明方式:const 类型标识符 &引用名 = 目标变量名; 用这种方式声明引用,不能通过引用对目标变量值进行修改,从而使引用目标成为const,达到了引用安全性。...【例6】 测试用返回引用函数值作为赋值表达式左值。

    54320

    C++左值和右值

    在C/C++,左值(lvalue)和右值(rvalue)是用于规定表达式(expression)性质。C++中表达式要不然是左值,要不然是右值。...这两个概念在C语言中比较容易理解:左值能放在赋值语句左边,右值不能。...但是当来到C++时,二者理解就比较复杂了(PS:有对象真是麻烦) 简单归纳: 当一个对象被用作右值时候,用是对象值(内容);当对象被用作左值时候,用是对象身份即在内存地址。...在需要右值地方可以用左值来代替,但是不能把右值当成左值使用。 关键是搞清楚,什么是右值,或者说什么不能用作左值(字面常量、&a结果等等)。...特例两个 当函数返回值是引用类型是,可以用作左值,当函数返回值是其他类型时,不能用作左值。

    1.8K30

    27 个问题,告诉你Python为什么这么设计

    为什么不能表达式赋值为什么Python对某些功能(例如list.index())使用方法来实现,而其他功能(例如len(List))使用函数实现?...为什么lambda表达式不能包含语句? 可以将Python编译为机器码,C或其他语言吗? Python如何管理内存? 为什么CPython不使用更传统垃圾回收方案?...在函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 为什么不能表达式赋值?...Python lambda表达式不能包含语句,因为Python语法框架不能处理嵌套在表达式内部语句。然而,在Python,这并不是一个严重问题。

    6.7K11

    DECLARE在SQL用法及相关等等

    允许约束类型只包括 PRIMARY KEY、UNIQUE、NULL 和 CHECK。如果类型绑定了规则或默认定义,则不能将别名数据类型用作列标量数据类型。...表达式可以是非计算列名称、常量、内置函数、变量,也可以是用一个或多个运算符连接上述元素任意组合。表达式不能为子查询或用户定义函数表达式不能引用 CLR 用户定义类型。...只有常量值(如字符串)、系统函数(如 SYSTEM_USER())或 NULL 可用作默认参数。为了与 SQL Server 早期版本兼容,可以为 DEFAULT 分配约束名称。...constant_expression 用作默认值常量、NULL 或系统函数。 IDENTITY 指示新列是标识列。在表添加新行时,SQL Server 将为列提供一个唯一增量值。...备注 变量常用在批处理或过程,作为 WHILE、LOOP 或 IF…ELSE 块计数器。 变量只能用在表达式不能代替对象名或关键字。若要构造动态 SQL 语句,请使用 EXECUTE。

    2.9K20

    Python 元组

    圆括号 2.多重赋值 3.元组特性 3.1 单个元素元组 3.2 可以省略圆括号 3.3 不可变性 4.为什么需要元组 ---- 除了两个方面,元组数据类型几乎与列表数据类型一样。...元组不能让它们值被修改、添加或删除: tp = ('Python', 'Java', 'C') tp[1] = 'C++' 如果元组只有一个值,你可以在括号内该值后面跟上一个逗号,表明这种情况...1.1 tuple 函数 与list()函数类似,tuple()可以将参数可迭代对象转换成元组: a = tuple('Python') print(a) b = tuple(['Python...(a) 直接使用圆括号()将得到一个空元组: a = () print(a) ---- 2.多重赋值 在 Python , 允许一次给多个变量赋值, 称为多重赋值。...a) ---- 4.为什么需要元组 主要原因如下: 元组占用空间较小 你不会意外修改元组值 可以将元组用作字典函数参数是以元组形式传递

    88920

    27 个问题,告诉你Python为什么这么设计?

    函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 为什么不能表达式赋值?...# do something with line 不允许在 Python 表达式赋值原因是这些其他语言中常见、很难发现错误,是由这个结构引起: if (x = 0) { // error...一个有趣现象是,大多数有经验Python程序员都认识到 while True 习惯用法,也不太在意是否能在表达式构造赋值; 只有新人表达了强烈愿望希望将其添加到语言中。...Python lambda表达式不能包含语句,因为Python语法框架不能处理嵌套在表达式内部语句。然而,在Python,这并不是一个严重问题。

    3.1K20

    干货 | 27 个问题,告诉你 Python 为什么如此设计?

    函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能表达式赋值?...# do something with line 不允许在 Python 表达式赋值原因是这些其他语言中常见、很难发现错误,是由这个结构引起: if (x = 0) { // error...一个有趣现象是,大多数有经验 Python 程序员都认识到 while True 习惯用法,也不太在意是否能在表达式构造赋值; 只有新人表达了强烈愿望希望将其添加到语言中。...Python lambda 表达式不能包含语句,因为 Python 语法框架不能处理嵌套在表达式内部语句。然而,在 Python ,这并不是一个严重问题。

    2.6K20

    C++11-右值引用新类功能可变参数列表

    T t) { Fun(t); } 解释: PerfectForward为转发模板函数,Func为实际目标函数,但是上述转发还不算完美,完美转发是目标函数总希望将参数按照传递给转发函数实际类型转给目标函数...C++98用作用: 因为引用是一个别名,需要用指针操作地方,可以使用指针来代替,可以提高代码可读性以及安全性 C++11右值引用主要有以下作用: 实现移动语义(移动构造与移动赋值...新增了两个:移动构造函数和移动赋值运算符重载 2、移动构造和移动赋值 注意: 如果你没有自己实现移动构造函数,且没有实现析构函数 、拷贝构造、拷贝赋值重载任意一个,那么编译器会自动生成一个默认移动构造...且没有实现析构函数 、拷贝构造、拷贝赋值重载任意一个,那么编译器会自动生成一个默认移动赋值 默认生成移动构造函数,对于内置类型成员会执行逐成员按字节拷贝,自定义类型成员,则需要看这个成员是否实现移动赋值...,是直接在expand函数展开,printarg不是一个递归终止函数,只是一个处理参数包每一个参数函数 这种就地展开参数包方式实现关键是逗号表达式,逗号表达式会按顺序执行逗号前面的表达式

    84130

    Python官方二十七问,你知道个啥?

    函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能表达式赋值?...# do something with line 不允许在 Python 表达式赋值原因是这些其他语言中常见、很难发现错误,是由这个结构引起: if (x = 0) { // error...一个有趣现象是,大多数有经验 Python 程序员都认识到 while True 习惯用法,也不太在意是否能在表达式构造赋值; 只有新人表达了强烈愿望希望将其添加到语言中。...Python lambda 表达式不能包含语句,因为 Python 语法框架不能处理嵌套在表达式内部语句。然而,在 Python ,这并不是一个严重问题。

    2.5K20

    干货 | 27 个问题,告诉你 Python 为什么如此设计?

    函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能表达式赋值?...# do something with line 不允许在 Python 表达式赋值原因是这些其他语言中常见、很难发现错误,是由这个结构引起: if (x = 0) { // error...一个有趣现象是,大多数有经验 Python 程序员都认识到 while True 习惯用法,也不太在意是否能在表达式构造赋值; 只有新人表达了强烈愿望希望将其添加到语言中。...Python lambda 表达式不能包含语句,因为 Python 语法框架不能处理嵌套在表达式内部语句。然而,在 Python ,这并不是一个严重问题。

    2.7K10

    Python 核心设计理念27个问题及解答

    函数赋值那些变量(并且没有明确声明为全局)赋值,就必须以某种方式告诉解释器一个赋值是为了分配一个实例变量而不是一个局部变量,它最好是通过语法实现(出于效率原因)。...换句话说,局部变量和实例变量存在于两个不同命名空间中,您需要告诉 Python 使用哪个命名空间。 06. 为什么不能表达式赋值?...一个有趣现象是,大多数有经验 Python 程序员都认识到 while True 习惯用法,也不太在意是否能在表达式构造赋值; 只有新人表达了强烈愿望希望将其添加到语言中。...Python lambda 表达式不能包含语句,因为 Python 语法框架不能处理嵌套在表达式内部语句。然而,在 Python ,这并不是一个严重问题。...元组是不可变,这意味着一旦创建了元组,就不能用新值替换它任何元素。列表是可变,这意味着您始终可以更改列表元素。只有不变元素可以用作字典 key,因此只能将元组和非列表用作 key。 18.

    3.3K21

    C语言零基础入门难发愁,那就快来看看这篇基础整理资料吧

    2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。...C程序生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序扩展名为 .c ,目标程序扩展名为 .obj , 可执行程序扩展名为 .exe 。...合法标识符如下: A6, b_3 , _mn 非法标识符如下: ab#12 , 8m , tr3:4 , yes no 标识符不能与程序具有特殊意义关键字相同,不能与用户编制函数名、C语言库函数相同...标识符分为如下三类: 1、关键字 关键字是具有特定含义,专门用来说明c语言特定成分一类标识符,不能用作用户标识符。...一般形式为: 变量名 = 表达式 在程序可以多次给一个变量赋值,每赋一次值,与它相应存储单元数据就被更新一次,内存当前数据就是最后一次所赋值那个数据。

    78030

    【必读】C语言基础知识大全

    2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。...C程序生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序扩展名为 .c ,目标程序扩展名为 .obj , 可执行程序扩展名为 .exe 。...合法标识符如下: A6, b_3 , _mn 非法标识符如下: ab#12 , 8m , tr3:4 , yes no 标识符不能与程序具有特殊意义关键字相同,不能与用户编制函数名、C语言库函数相同...标识符分为如下三类: 1、关键字 关键字是具有特定含义,专门用来说明c语言特定成分一类标识符,不能用作用户标识符。...一般形式为: 变量名 = 表达式 在程序可以多次给一个变量赋值,每赋一次值,与它相应存储单元数据就被更新一次,内存当前数据就是最后一次所赋值那个数据。

    6.3K104

    【必读】超全C语言基础知识大全

    2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。...C程序生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序扩展名为 .c ,目标程序扩展名为 .obj , 可执行程序扩展名为 .exe 。...合法标识符如下: A6, b_3 , _mn 非法标识符如下: ab#12 , 8m , tr3:4 , yes no 标识符不能与程序具有特殊意义关键字相同,不能与用户编制函数名、C语言库函数相同...标识符分为如下三类: 1、关键字 关键字是具有特定含义,专门用来说明c语言特定成分一类标识符,不能用作用户标识符。...一般形式为: 变量名 = 表达式 在程序可以多次给一个变量赋值,每赋一次值,与它相应存储单元数据就被更新一次,内存当前数据就是最后一次所赋值那个数据。

    2.1K20

    有人@我,你有一份C语言基础大全手册要领取,快来拿!

    2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。...二、C程序生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序扩展名为 .c ,目标程序扩展名为 .obj , 可执行程序扩展名为 .exe 。...合法标识符如下:A6, b_3 , _mn非法标识符如下:ab#12 , 8m , tr3:4 , yes no 标识符不能与程序具有特殊意义关键字相同,不能与用户编制函数名、C语言库函数相同...标识符分为如下三类: 1、关键字 关键字是具有特定含义,专门用来说明c语言特定成分一类标识符,不能用作用户标识符。...一般形式为: 变量名 = 表达式 在程序可以多次给一个变量赋值,每赋一次值,与它相应存储单元数据就被更新一次,内存当前数据就是最后一次所赋值那个数据。

    94020

    C语言入门基础大全,自学C语言必备知识!

    2、main()——在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。...02 C程序生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序扩展名为 .c ,目标程序扩展名为 .obj , 可执行程序扩展名为 .exe 。...合法标识符如下:A6, b_3 , _mn 非法标识符如下:ab#12 , 8m , tr3:4 , yes no 标识符不能与程序具有特殊意义关键字相同,不能与用户编制函数名、C语言库函数相同...推荐个10天入门C/C++公众号:C语言入门到精通 标识符分为如下三类 — 1、关键字 关键字是具有特定含义,专门用来说明c语言特定成分一类标识符,不能用作用户标识符。...一般形式为:变量名 = 表达式。 在程序可以多次给一个变量赋值,每赋一次值,与它相应存储单元数据就被更新一次,内存当前数据就是最后一次所赋值那个数据。

    1.7K2118

    【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )

    内联 " 机制避免内存开销 3、内联函数本质 - 编译时宏替换 4、内联函数不能递归 十七、普通函数代码示例 十八、内联函数代码示例 十九、函数用作函数参数 二十、函数类型作为函数返回值 二十一、...* * @param reason一个解释为什么缺少实现字符串。...---- Java 函数名要求 : 只能由 字母数字下划线 构成 首字母并不能是数字 不能是关键字 Kotlin 函数名 可以使用 空格 , 特殊字符 , 关键字 , 前提是 该函数名 必须使用...和 全局变量 ; 在 匿名函数 B 定义了 匿名函数 C , 则 在 匿名函数 C , 可以引用 匿名函数 B , 函数 A 变量 和 全局变量 ; 在 函数 A , 不能引用 匿名函数...B 和 匿名函数 C 变量 ; 在 匿名函数 B , 不能引用 匿名函数 C 变量 ; 高级函数概念 : 在 函数式编程 , 经常使用 高级函数 , 高级函数 是使用 函数类型变量 作为

    2K20

    Java 8 - 04 类型检查、类型推断以及限制

    上下文(比如,接受它传递方法参数,或接受它局部变量)Lambda表达式需要类型称为目标类型。...请注意,如果Lambda表达式抛出一个异常,那么抽象方法所声明 throws 语句也必须与之匹配 ---- 同样 Lambda,不同函数式接口 有了目标类型概念,同一个Lambda表达式就可以与不同函数式接口联系起来... privilegedAction = () -> 18; 第一个赋值目标类型是 Callable 第二个赋值目标类型是PrivilegedAction 再举个栗子 : 同一个Lambda...Lambda表达式可以从赋值上下文、方法调用的上下文(参数和返回值),以及类型转换上下文中获得目标类型 来个小测验 类型检查——为什么下面的代码不能编译呢?...Java编译器会从上下文(目标类型)推断出用什么函数式接口来配合Lambda表达式,这意味着它也可以推断出适合Lambda签名,因为函数描述符可以通过目标类型来得到。

    87210
    领券