主题:高手急救:local function definitions are illegal
feiyan
[专家分:540] 发布于 2005-09-11 15:13:00
高手帮忙看看
G:\BORLANDC\DEmo\LinkDemo\CreListR.cpp(97) : error C2601: 'main' : local function definitions are illegal
G:\BORLANDC\DEmo\LinkDemo\CreListR.cpp(110) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
void main(void)
{
ListNode * L;
int i;
L=(ListNode *)malloc(sizeof(ListNode));
L=CreateListR();
cout<<"very good!"<<'\n';
i=ListLength(L);
cout<<"The LinkList length is:"<<i<<'\n';
DeleteMM(L,'c','h');
cout<<"The LinkList length is:"<<i<<'\n';
free(L);
}
回复列表 (共7个回复)
沙发
feiyan [专家分:540] 发布于 2005-09-11 15:13:00
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
typedef struct node
{
DataType data;
struct node *next;
}ListNode;
typedef ListNode * LinkList;
LinkList CreateListR(void)
{
char ch;
LinkList head;
ListNode * s,* r;
head=NULL;
r=NULL;
while((ch=getchar())!='\n')
{
s=(ListNode *)malloc(sizeof(ListNode));
s->data=ch;
if(head==NULL)
head=s;
else
r->next=s;
r=s;
}
if(r!=NULL)
r->next=NULL;
return head;
}
int ListLength(LinkList head)
{
int i=0;
ListNode * p;
p=head;
/* if(!(p->next))
i=0;
else
i=1;
while(p->next) */
while(p!=NULL)
{
i++;
p=p->next;
}
return i;
}
void Display(LinkList Head)
{
LinkList p;
p=Head;
while(p!=NULL)
{
cout<<p->data;
p=p->next;
}
free(p);
}
/*LinkList DeleteMM(LinkList A,DataType min,DataType max)
{
ListNode * s,*r;
s=A;
r=s->next;
while(r!=NULL)
{
if(r->data<min||r->data>max)
s=r->next;
}
return A;
}*/
LinkList DeleteMM(LinkList L,DataType min,DataType max)
{ ListNode *p,*q,*s,*k;
if(L!=NULL)
{ q=L;p=L->next;
while(p!=NULL&&p->data<=min)
{ q=p;p=p->next;
while(p!=NULL&&p->data<=max)
p=p->next;
s=q->next;
while(s!=p)
{k=s;s=s->next;free(k);}
}
}
板凳
FancyMouse [专家分:13680] 发布于 2005-09-11 15:33:00
正宗的main()入口应该是:
int main(void)
或者
int main(int argc, char *argv[])
3 楼
feiyan [专家分:540] 发布于 2005-09-11 15:42:00
改了还是一样
4 楼
I [专家分:160] 发布于 2005-09-11 16:56:00
最后一个函数中少了一个"{",而且没有返回值,
将他们修改,应该就没问题了!
5 楼
feiyan [专家分:540] 发布于 2005-09-12 14:55:00
加了"}"可以了
那为什么出错不是指向少"}"的地方
6 楼
coolfft [专家分:0] 发布于 2006-06-10 10:07:00
#include <iostream.h>
void ppp(int *x)
{int i,j, k,t;
for (i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
{if (*(x+k)<*(x+j))
k=j;
if (k!=i)
{t=*(x+i),*(x+i)=*(x+k),*(x+k)=t;}
}
}
void main ()
{int a[10], int i;
for(i=0;i<10;i++)
{ cin>>a[i];
cout<<" "<<"a["<<i<<"]"<<"="<<a[i]<<" ";
if (i%4==0)
cout<<endl;}
ppp(a);
for(i=0;i<10;i++)
cout<<a[i];
}}
我的也是这毛病main' : local function definitions are illegal我是初学者,有点幼稚吧,呵呵~~~~还请麻烦帮我改正一下,感激.....哭~~~
7 楼
UaU [专家分:60] 发布于 2006-06-11 19:24:00
加个#include "stdafx.h"
我来回复