函数声明的有关问题
函数声明的问题
C++中用引用传递交换两个数,把调用函数的声明放在主函数里面实现不了交换两个数的功能,请大家看看是什么原因
#include <iostream>
using namespace std;
int main( )
{
void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a,int &b) //形参是引用类型
{
int temp;
temp=a;
a=b;
b=temp;
}
------解决方案--------------------
你的程序是正常的,而且也可以把i和j的值交换过来,没有问题啊。
------解决方案--------------------
这个放在里面也可以啊,但是很少这么用吧,你这个我试了一下没问题
------解决方案--------------------
VC6.0下?
这样吧:
C++中用引用传递交换两个数,把调用函数的声明放在主函数里面实现不了交换两个数的功能,请大家看看是什么原因
#include <iostream>
using namespace std;
int main( )
{
void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a,int &b) //形参是引用类型
{
int temp;
temp=a;
a=b;
b=temp;
}
------解决方案--------------------
你的程序是正常的,而且也可以把i和j的值交换过来,没有问题啊。
------解决方案--------------------
这个放在里面也可以啊,但是很少这么用吧,你这个我试了一下没问题
------解决方案--------------------
VC6.0下?
这样吧:
- C/C++ code
#include <iostream> using namespace std; void swap(int &a,int &b); int main( ) { //void swap(int &a,int &b); int i=3,j=5; swap(i,j); cout<<"i="<<i<<" "<<"j="<<j<<endl; return 0; } void swap(int &a,int &b) //形参是引用类型 { int temp; temp=a; a=b; b=temp; }
------解决方案--------------------
可以交换i、j。