请问一个c++的问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 00:00:07
#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*)为什么一定要放在主调函数内;不能放在程序顶部
我试过放在顶部是不行的

可以放在main函数上方。作为声明。

//
#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;
}
是不是你忘了分号。

可以放在主调函数内,也可以放在程序顶部,不过都要加:
using namespace std;
并且还要加分号:void swap(int*,int*) ;

#include "stdafx.h"
#include <iostream>
using namespace std;
void swap(int*,int*) ;
int _tmain(int argc, _TCHAR* argv[])
{
//void swap(int*,int*) ;//OK
int a,b;
cin>>a>>b;
swap(&a,&b);
cout<<endl<<a<<","<<b<<endl;
system("pause");
return 0;
}
void swap(int *p1,int *p2)
{
int p;
p=*p1;*p1=*p2;*p2=p;}