Error:ivalue require as left operant of assignment
2024-10-11 18:21:06
Error:ivalue require as left operant of assignment
解答:该错误的意思是左操作数必须为左值,这个发生错误的原因在于赋值符号的左边不能是已确定的值,如:
3=n;或3=2是错的;
如果是对函数赋值,如:
#include<iostream>
using namespace std;
int f1(int a[],int i){
return a[i];
}
int main(){
int a[10];
for(int i=0;i<10;i++){
a[i]=i;
cout<<a[i]<<endl;
}
f1(a,3)=6;
for(int i=0;i<10;i++){
cout<<a[i];
}
}
本程序会发生 以上的错误 是因为函数f1()返回的是一个值而非变量等不确定的值;
解决办法:
1.将函数定义为引用类型 : int &f1(int a[] ,int i){......}; 且使用引用类型之后,在赋值运算符的任何一边均可使用f1()函数;
2.使用指针类型显式调用该函数: int * f1 (int a[] , int i){return &a[i] }; 调用: *f1(a,3)=6,即把a中下标为3的位置赋值为6;
最新文章
- jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
- unity行为树制作AI简单例子(1)
- 浅谈JavaScript原型对象与相关设计模式
- JAVA学习Swing绝对局部简单学习
- python 重载 __hash__ __eq__
- macbook安装mysql
- JavaScript 语法陷阱
- 学习php常用算法
- 关于UIText换行
- javascript从定义到执行 js引擎 闭包
- mysql 命令备份
- sql中常见日期获取
- 聊聊ThreadLocal原理以及使用场景-JAVA 8源码
- 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
- Tapestry: Obtained resource by @Inject is NULL
- 微信小程序----没有 DOM 对象,一切基于组件化 ---- mpvue
- flask学习笔记(1)-虚拟环境安装
- Docker Kubernetes(K8s)简介
- iOS sqlite C语言操作
- 使用 CSV 文件存储