c++ 错误 1error C4700: 使用了未初始化的局部变量“L 怎么回事?怎么改才行?
#include<iostream>usingnamespacestd;#defineMAX_SIZE100#defineEORROR0#defineOK1typedef...
#include<iostream>
using namespace std;
#define MAX_SIZE 100
#define EORROR 0
#define OK 1
typedef int Elem_Type;
typedef int Status;
typedef struct sqlist
{
Elem_Type *Elem_array=0;
size_t length=0;
}SqList;
Status Init_SqList(SqList *L)
{
L->Elem_array= (Elem_Type *)malloc(MAX_SIZE*sizeof(Elem_Type));
if (!L->Elem_array)
{
L->length = 0;
return OK;
}
else
return EORROR;
}
int main()
{
SqList * L; \\错误1
Init_SqList(L);
size_t i = 1;
Elem_Type e = 9;
Insert_SqList(L, i, e);
return 0;
}
写错了 错误在Init_SqList(L);这一行 展开
using namespace std;
#define MAX_SIZE 100
#define EORROR 0
#define OK 1
typedef int Elem_Type;
typedef int Status;
typedef struct sqlist
{
Elem_Type *Elem_array=0;
size_t length=0;
}SqList;
Status Init_SqList(SqList *L)
{
L->Elem_array= (Elem_Type *)malloc(MAX_SIZE*sizeof(Elem_Type));
if (!L->Elem_array)
{
L->length = 0;
return OK;
}
else
return EORROR;
}
int main()
{
SqList * L; \\错误1
Init_SqList(L);
size_t i = 1;
Elem_Type e = 9;
Insert_SqList(L, i, e);
return 0;
}
写错了 错误在Init_SqList(L);这一行 展开
1个回答
展开全部
结构体里没有初始化,不能在内部直接赋值
typedef struct sqlist
{
Elem_Type *Elem_array;//去掉=0,在main中声明结构体变量时,再初始化
size_t length;//去掉=0
}SqList;SqList * L; \\错误
L只是一个指针,没有节点的实体,你如何在Init_SqList里,调用L的L->Elem_array成员正确的逻辑是
Node *head=NULL,*pNode=NULL;
pNode=new Node;
init_node(pNode);//初始化这个节点的成员变量
insert_node(&head,pNode);//将申请的节点添加到head指向的链表
建议你去看看其他人写的正确的链表过程
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询