为什么这边的参数地址交换没有交换成功,把void swap(int &a,int &b)从主函数里去掉就可以了?

#include<iostream>usingnamespacestd;intmain(){voidswap(int&a,int&b);inta=3;intb=5;cou... #include<iostream>
using namespace std;

int main()
{
void swap(int &a,int &b);
int a=3;
int b=5;
cout<<"before swap "<<"a="<<a<<" b="<<b<<endl;
swap(a,b);
cout<<"after swap "<<"a="<<a<<" b="<<b<<endl;

return true;

}
void swap(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
展开
 我来答
问额外我而去
2015-03-24 · TA获得超过838个赞
知道小有建树答主
回答量:802
采纳率:0%
帮助的人:466万
展开全部
  1.   你这不是地址交换

2。   你取消了swap的声明,你调用的就不是,你的swap了,  而是系统的swap

      你跟踪swap进入看看

追问
那我想写个引用参数指的交换,就是改变交换a和b的值,该如何修改?
追答
你的程序可以交换阿
我考到我的编译器就可以
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式