qq_43412960 2019-12-22 00:16 采纳率: 78.6%
浏览 344
已采纳

这是 一个关于数据结构的链表问题


#include<iostream>
#include<conio.h>
#include<string.h>
#define OK 1
#define MAXSIZE 100
using namespace std;
typedef  int Status;

typedef  struct  
{
char name[5];
float price;    
}Book;

typedef Book ElemType;

typedef  struct LNode
{
ElemType data;
struct LNode *next;


}LNode,*LinkList;
LNode *A;


Status InitList(LNode *L)
{

L=new LNode;

if(!L)
exit(-1);
else
(*L).next=NULL;
return OK;
}

int main()
{

LNode *L;

InitList(*L);




cout<<L;

getch();


return 0;
}

这是我写的完整代码,就是生成了链表结点,还有初始化链表。

其中,
图片说明

划线部分,两个参数我写的一样的,因为形参和实参要一致

但是却报错

--------------------Configuration: 线性表 - Win32 Debug--------------------
Compiling...
线性表.cpp
E:\数据结构\线性表.cpp(45) : error C2664: 'InitList' : cannot convert parameter 1 from 'struct LNode' to 'struct LNode *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

线性表.exe - 1 error(s), 0 warning(s)
为甚么呢?

  • 写回答

2条回答 默认 最新

  • 喜欢喝茶的猫 2019-12-22 09:46
    关注

    这个问题是关于 * 的用法,用在声明的时候它指声明一个指针类型的变量,结合指针使用的时候指取指针所指的变量;
    这里说的是你的参数不对,划线部分要保持参数类型一致,应为指针类型,把* 去掉即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿