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;

        

最新文章

  1. jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
  2. unity行为树制作AI简单例子(1)
  3. 浅谈JavaScript原型对象与相关设计模式
  4. JAVA学习Swing绝对局部简单学习
  5. python 重载 __hash__ __eq__
  6. macbook安装mysql
  7. JavaScript 语法陷阱
  8. 学习php常用算法
  9. 关于UIText换行
  10. javascript从定义到执行 js引擎 闭包
  11. mysql 命令备份
  12. sql中常见日期获取
  13. 聊聊ThreadLocal原理以及使用场景-JAVA 8源码
  14. 输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。
  15. Tapestry: Obtained resource by @Inject is NULL
  16. 微信小程序----没有 DOM 对象,一切基于组件化 ---- mpvue
  17. flask学习笔记(1)-虚拟环境安装
  18. Docker Kubernetes(K8s)简介
  19. iOS sqlite C语言操作
  20. 使用 CSV 文件存储

热门文章

  1. python 信号处理
  2. 【iOS】OC-Quartz2D简单使用
  3. java unicode和字符串间的转换
  4. 关于webService发布的wsdl中的import问题解决
  5. 开发者的如何优雅的使用OSX
  6. Vue 爬坑之路(十一)—— 基于 Nuxt.js 实现服务端渲染(SSR)
  7. python django的ManyToMany简述
  8. mingw打dll ,lib包命令和调用
  9. JS刷题总结
  10. MySql入门(2-2)创建数据库