问题遇到的现象和发生背景
数据结构 初始化线性表
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<malloc.h>
#define LIST_INIT_SIZE 100
typedef int status;
typedef struct{
int *elem;
int length;
int listsize;
}sqlist;
status init_sq (sqlist &L);
status init_sq(sqlist &L){
L.elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem)
return 0;
L.length=0;
L.listsize=LIST_INIT_SIZE;
return 1;
}
int main()
{ sqlist L;
init_sq(&L); //为什么L前不能加&;
printf("%d\n",L.listsize);
printf("%p %p\n",L.elem);
}
运行结果及报错内容
C:\Users\Administrator\Desktop\实验报告1_顺序表.cpp In function 'int main()':
25 18 C:\Users\Administrator\Desktop\实验报告1_顺序表.cpp [Error] invalid initialization of non-const reference of type 'sqlist&' from an rvalue of type 'sqlist*'
13 9 C:\Users\Administrator\Desktop\实验报告1_顺序表.cpp [Error] in passing argument 1 of 'status init_sq(sqlist&)'
我想要达到的结果
刚开始学,看不懂报错。