c++中允许函数的嵌套调用,但不允许函数的嵌套定义,例如:
#include<iostream.h>
int SwpInt(int *a,int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
return a;
}
void main()
{
int e=12;
int f=89;
SwpInt(&e,&f);
cout<<e<<endl<<f<<endl;
}
这样定义是对的,但是如果如下定义就会出现编译错误:
#include<iostream.h>
void main()
{
int e=12;
int f=89;
int SwpInt(int *a,int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
return a;
}
SwpInt(&e,&f);
cout<<e<<endl<<f<<endl;
}
error C2601: 'SwpInt' : local function definitions are illegal