标题:cannot convert parameter 3 from 'int *' to 'int &'.不会用GetLlem
只看楼主
lqllin
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2017-1-18
结帖率:100%
已结贴  问题点数:18 回复次数:5 
cannot convert parameter 3 from 'int *' to 'int &'.不会用GetLlem
#include<stdio.h>
#include<stdlib.h>
#define max
#define ERROR 0
#define OK 1
typedef int ElemType;
typedef int Status;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
Status InitList(LinkList &L){
L=new LNode;
L->next=NULL;
return OK;
}
Status ListInsert(LinkList &L,int i,ElemType e){
int j=0;
LinkList p=L,s;
if(!p||j>i-1)return ERROR;
while(p&&j<i-1){
p=p->next;
j++;
}
s=(LinkList)malloc(sizeof(struct LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
void output(LinkList L){
LinkList p=L->next;
while(p){
printf("%d\n",p->data);
p=p->next;
}
}
Status ListDelete(LinkList &L,int i){
LinkList p=L,q;
int j=0;
while((p->next)&&(j<i-1)){
p=p->next;
++j;
}
if(!(p->next)||(j>i-1))return ERROR;
q=p->next;
p->next=q->next;
delete q;
return OK;
}
LNode *LocateElem(LinkList L,ElemType e){
LinkList p=L;
p=L->next;
if(p&&p->data!=e){
p=p->next;
return p;}
else printf("error");
}

Status GetElem(LinkList L,int i,ElemType e){
LinkList p=L;
int j=1;
while(p&&j<i){
p=p->next;
++j;
}
if(!p||j>i)return ERROR;
e=p->data;
return OK;
}
void Find(LinkList L,int x)//查找值为x的直接前驱结点q
{
 LinkList p;
 p=L;
 while( p->next &&p->next->data!=x)
  p=p->next;
 if(p->next)
  printf("%d的位置为:第%d位\n\n",x,p->data+1);
 else
  printf("没找到!!\n\n");
}

Status GetElem_L(LinkList L,int i,ElemType &e) {  
    LinkList p;
    p=L->next;
    //初始化,p指向第一个结点  
    int j=1;
    //j为计数器
    while(p&&j<i)
        //顺链域向后扫描,直到p指向第i个元素或p为空
    {   p=p->next;   ++j;  }
    if(!p||j>i)
        //第i个元素不存在  
        return ERROR;
    e=p->data;
    //取第i个元素  
    return OK; }

main(){
int i;
int *e;

LinkList L;
InitList(L);
for(i=1;i<10;i++)
ListInsert(L,i,i);
output(L);
printf("\n");
ListDelete(L,4);
ListInsert(L,4,90);
ListInsert(L,9,100);
output(L);
printf("\n");
Find(L,90);
Find(L,100);
GetElem_L(L,3,*e);
printf("%d\n",*e);
}
搜索更多相关主题的帖子: convert include cannot return 
2017-03-10 13:01
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:9 

Status GetElem_L(LinkList L,int i,ElemType &e);
GetElem_L(L,3,*e);

 &   引用简介

  引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。

  引用的声明方法:类型标识符 &引用名=目标变量名;
Status GetElem_L(LinkList L,int i,ElemType &e);
GetElem_L(L,3,e);


   当然也可以这样
  
Status GetElem_L(LinkList L,int i,ElemType *e);
GetElem_L(L,3,&e);

早知做人那么辛苦!  当初不应该下凡
2017-03-10 13:17
lqllin
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2017-1-18
得分:0 
回复 2楼 炎天
大神,两种用法都运行不了,你用一下,写一下详细的使用和打印。谢谢
2017-03-10 15:02
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:9 
int *e;e是用来存储数据的,不要把e定义为指针。
2017-03-10 15:11
lqllin
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2017-1-18
得分:0 
回复 4楼 ehszt
应该怎样使用GetLlem_L函数
2017-03-10 15:14
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:0 
int e;
GetElem_L(L,3,e);
这么定义,这么传参
2017-03-10 15:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474928-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.485690 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved