请问c++一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:23:47
#include<iostream.h>
void main()
{void swap(int*,int*)
int a,b;
cin>>a>>b;
swap(&a,&b);
cout<<endl<<a<<","<<b<<endl;
}
void swap(int *p1,int *p2)
{
int p;
p=*p1;*p1=*p2;*p2=p;}
这个void swap(int*,int*)为什么一定要放在主调函数内;不能放在程序顶部 我试过了 放在里面才可以编译 放在外面就不行

#include<iostream.h>
void swap(int*,int*) ;//先定义,这样就行了。

void main()
{
int a,b;
cin>>a>>b;
swap(&a,&b);
cout<<endl<<a<<","<<b<<endl;
}
void swap(int *p1,int *p2)
{
int p;
p=*p1;*p1=*p2;*p2=p;}

void swap(int*,int*) ;放在最上面肯定行

void swap(int*,int*);

注意分号!!
不论放在主调函数内,还是放在程序顶部,都要有分号

你要放在#include<iostream.h> 这句下面

o

应该是可以放在外面的,看看你的错误信息是什么