当前位置: 代码迷 >> C语言 >> [求助]我的一个函数在TC2.0下无法通过!
  详细解决方案

[求助]我的一个函数在TC2.0下无法通过!

热度:293   发布时间:2006-08-28 17:37:57.0
[求助]我的一个函数在TC2.0下无法通过!
就是那个OrderInsert()通不过,说什么d没有定义什么的!哪位大虾帮帮我!!(错误为:Possible use of 'd' before definition in function OrderInsert()!


typedef struct{
int OccurTime;
int NType;
}Event,ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}*Link,*Position;
typedef struct{
Link head,tail;
int len;
}LinkList;
typedef LinkList EventList;
Status MakeNode(Link p,ElemType e)
{
p=(Link)malloc(sizeof(struct LNode));
if(!p) return ERROR;
p->data.OccurTime=e.OccurTime;
p->data.NType=e.NType;
p->next=NULL;
return OK;
}
Status OrderInsert(EventList ev, ElemType a)
{
Link b,c=NULL,d;
if(!MakeNode(d,a)) return ERROR;
for(b=ev.head;a.OccurTime>=b->data.OccurTime||b!=NULL;c=b,b=b->next);
if(b==NULL){
ev.tail.next=d;
ev.tail=d;
if(!ListLength(ev))
ev.head=d;
}
else if(c==NULL){
d->next=ev.head;
ev.head=d;
}
else {
d->next=c->next;
c->next=d;
}
ev.len++;
return OK;
}

[此贴子已经被作者于2006-8-28 18:13:13编辑过]

搜索更多相关的解决方案: 函数  

----------------解决方案--------------------------------------------------------

那个应该也只是个警告吧?您只要把d初始为NULL就可以消除了.
另外,您的程序重命名和宏定义太多,让人看起来太费解....


----------------解决方案--------------------------------------------------------
  相关解决方案