回 帖 发 新 帖 刷新版面

主题:高手急救:local function definitions are illegal

高手帮忙看看

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个回复)

沙发

#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);}
   }
}

板凳

正宗的main()入口应该是:
int main(void)
或者
int main(int argc, char *argv[])

3 楼

改了还是一样

4 楼

最后一个函数中少了一个"{",而且没有返回值,
将他们修改,应该就没问题了!

5 楼

加了"}"可以了
那为什么出错不是指向少"}"的地方

6 楼

#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 楼

加个#include "stdafx.h"

我来回复

您尚未登录,请登录后再回复。点此登录或注册