关于结构体中嵌套结构体解决思路
关于结构体中嵌套结构体
最近在做一个链表
但是在结构体中嵌套结构体的时候,系统报错
说:..struct node *,int,int) ' already has a body
我是菜鸟,觉得定义结构的时候嵌套结构应该没有错哦..想文一下大家具体可能哪出问题了哦...
代码如下:
typedef struct node //结点类型定义
{ DataType data; //结点的数据域
struct node *next; //结点的指针域
}ListNode;
typedef ListNode *LinkList;
void InsertList(LinkList head,DataType x,int i)
{
//在此插入必要的语句
/*将值为x的新结点插入到带头结点的单链表head的第i个结点的位置上*/
ListNode *p,*s;
p=GetNode(head,i-1); /*寻找第i-1个结点*/
if(p==NULL)
{
printf( "插入位置非法\n ");
exit(0);
}
s=(ListNode *)malloc(sizeof(ListNode)); /*生成新结点*/
s-> data=x;
s-> next=p-> next;
p-> next=s;
}
当使用InsertList这个方法的时候 系统报错说
'void __cdecl InsertList(struct node *,int,int) ' already has a body
可是理论上结构体中是可以嵌套结构体的呀...请达人解答,谢谢
------解决方案--------------------
你是不是写两个InsertList()函数了?
------解决方案--------------------
你是不是把InsertList放在了头文件中,而且被两个或两个以上的cpp文件包含了?
------解决方案--------------------
先定义一个链表,头为head,再在i的位置上插入数据x
cout < < "请输入要插的位置 " < <endl;
cin> > i;
cout < < "请输入要插入的数据 " < <endl;
cin> > x;
InsertList(head,x,i);
最近在做一个链表
但是在结构体中嵌套结构体的时候,系统报错
说:..struct node *,int,int) ' already has a body
我是菜鸟,觉得定义结构的时候嵌套结构应该没有错哦..想文一下大家具体可能哪出问题了哦...
代码如下:
typedef struct node //结点类型定义
{ DataType data; //结点的数据域
struct node *next; //结点的指针域
}ListNode;
typedef ListNode *LinkList;
void InsertList(LinkList head,DataType x,int i)
{
//在此插入必要的语句
/*将值为x的新结点插入到带头结点的单链表head的第i个结点的位置上*/
ListNode *p,*s;
p=GetNode(head,i-1); /*寻找第i-1个结点*/
if(p==NULL)
{
printf( "插入位置非法\n ");
exit(0);
}
s=(ListNode *)malloc(sizeof(ListNode)); /*生成新结点*/
s-> data=x;
s-> next=p-> next;
p-> next=s;
}
当使用InsertList这个方法的时候 系统报错说
'void __cdecl InsertList(struct node *,int,int) ' already has a body
可是理论上结构体中是可以嵌套结构体的呀...请达人解答,谢谢
------解决方案--------------------
你是不是写两个InsertList()函数了?
------解决方案--------------------
你是不是把InsertList放在了头文件中,而且被两个或两个以上的cpp文件包含了?
------解决方案--------------------
先定义一个链表,头为head,再在i的位置上插入数据x
cout < < "请输入要插的位置 " < <endl;
cin> > i;
cout < < "请输入要插入的数据 " < <endl;
cin> > x;
InsertList(head,x,i);