a function-definition is not allowed here before '{' token c语言报错 (高分 在线等)

来源:百度知道 编辑:UC知道 时间:2024/05/23 15:38:14
我在我写的程序里添加了一个函数,但是添加完成后,后面没问题的函数几乎都报错“a function-definition is not allowed here before '{' token”

那段程序是这样的
int move(FILE *fp0)
{
struct person *p1,*p2,*head;
struct person0 *p3;
int i=0;
p3=person;
p1=p2=(struct person *)malloc(LEN);
while(1)
{fread(p3+i,LEN0,1,fp0);
if(feof(fp0))break;
strcpy(p1->name,(p3+i)->name0);
strcpy(p1->relation,(p3+i)->relation0);
strcpy(p1->address,(p3+i)->address0);
strcpy(p1->tel_number,(p3+i)->tel_number0);
strcpy(p1->post,(p3+i)->post0);
p1->qq=(p3+i)->qq0;
if(i==0)//首结点
head=p1;
else
{p2->next=p1;
p1=p2;
p1=(struct person *)malloc(LEN);//前插法
}
i++;
j++;
}
p2->next=NULL;
rewind(fp);
free(p1);
return 0;
}
/**************************************

这句话拿过来就是说,在这里({前面)不允许声明函数。
你把你加的函数放到最后,然后在你调用的时候加个函数声明试试看。

这类错误无非是丢括号丢分号之类的问题,不要光看问题本身,检查一下你的}是不是丢了。
不知道是你考错了还是本来就错了,看到你在del_person函数最后一句return(0);前似乎就忘了个"}"。

闪...

确认下写这个函数之前写的函数是不是缺少了 } ,如若是加上就没有问题了,我出现这个问题就是这样解决的。我用的软件是CODE BLOCKS。