C++程序,使用函数模板但为何没有交换数值
#include<iostream>usingnamespacestd;template<typenameT>voidSwap(Tx,Ty){Tz;z=x,x=y,x=z...
#include<iostream>
using namespace std;
template<typename T>
void Swap(T x,T y)
{ T z;
z=x,x=y,x=z;
}
int main ()
{ cout<<"请按一定的顺序输入两个数"<<endl;
int x,y;
cin>>x>>y;
Swap(x,y);
cout<<x<<" "<<y<<endl;
float a=321,b=123,c=0;
Swap(a,b);
cout<<a<<" "<<b<<endl;
system ("pause");
return 0;
} 展开
using namespace std;
template<typename T>
void Swap(T x,T y)
{ T z;
z=x,x=y,x=z;
}
int main ()
{ cout<<"请按一定的顺序输入两个数"<<endl;
int x,y;
cin>>x>>y;
Swap(x,y);
cout<<x<<" "<<y<<endl;
float a=321,b=123,c=0;
Swap(a,b);
cout<<a<<" "<<b<<endl;
system ("pause");
return 0;
} 展开
3个回答
展开全部
使用函数之前,好像要指定类型吧
调用的时候不是应该这样的吗,Swap<int>(a,b);
上面说的有理,
改变的事地址上的数据
调用的时候不是应该这样的吗,Swap<int>(a,b);
上面说的有理,
改变的事地址上的数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数的形参在函数中改变不影响外面的变量
追问
按这个方式要如何才能交换呢
追答
template<typename T>
void Swap(T& x,T& y)
{ T z;
z=x,x=y,x=z;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-18
展开全部
template<typename T>
void Swap(T& x,T& y)
{ T z;
z=x,x=y,x=z;
}
void Swap(T& x,T& y)
{ T z;
z=x,x=y,x=z;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询