关于结构体中嵌套结构体解决思路

关于结构体中嵌套结构体
最近在做一个链表
但是在结构体中嵌套结构体的时候,系统报错
说:..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);