求助:error C2601: “main”: 本地函数定义是非法的
#include "stdafx.h"
#include "stdafx.h"
#include<iostream>
#include<queue>
#define maxn 1000
#define inf 100000
#define min(a,b) ((a)<(b)?(a):(b))
struct arctype
{
int c,f;
};
arctype edge [maxn][maxn];
int n,m;
int flag[maxn];
int prev[maxn];
int alpha[maxn];
int queue[maxn];
int v;
int qs,qe;
int i,j;
void ford()
{
while(1)
{
memset(flag,0xff,sizeof(flag));
memset(prev,0xff,sizeof(prev));memset(alpha,0xff,sizeof(alpha));
flag[0]=0;prev[0]=0;alpha[0]=inf;
qs=qe=0;
queue[qe]=0;qe++;
while(qs<qe&&flag[n-1]==-1)
{
v=queue[qs];qs++;
for(i=0;i<n;i++)
{
if(flag[i]==-1)
{
if(edge[v][i].c<inf&&edge[v][i].f<edge[v][i].c)
{
flag[i]=0;prev[i]=v;
alpha[i]=min(alpha[v],edge[v][i].c-edge[v][i].f);
queue[qe]=i;qe++;
}
else if(edge[v][i].c<inf&& edge[v][i].f>0)
{
flag[i]=0;prev[i]=-v;
alpha[i]=min(alpha[v], edge[v][i].f);
queue[qe]=i;qe++;
}
}
}
flag[v]=1;
if(flag[n-1]==-1||alpha[n-1]==0)
break;
int k1=n-1,k2=abs(prev[k1]);
int a=alpha[n-1];
while(1)
{
if(edge[k2][k1].f<inf)
edge[k2][k1].f= edge[k2][k1].f+a;
else edge[k1][k2].f= edge[k1][k2].f-a;
if(k2==0)
break;
k1=k2;k2=abs(prev[k2]);
}
}
int maxflow=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==0&& edge[i][j].f<inf)
maxflow+= edge[i][j].f;
if(edge[i][j].f<inf)
printf("%d->%d:%d\n",i,j, edge[i][j].f);
}
}
printf("maxflow:%d\n",maxflow);
}
void main()
{
int u,v,c,f;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
edge[i][j].c= edge[i][j].f=inf;
}
for(i=0;i<m;i++)
{
scanf("%d%d%d%d",&u,&v,&c,&f);
edge[u][v].c=c; edge[u][v].f=f;
}
ford();
}
这个程序运行后总会出现“main”: 本地函数定义是非法的,请大虾们帮帮我,毕业论文急需要的,万分感激!!!