c++ 交换值的函数模板
#include<iostream>usingnamespacestd;template<classT>voidswap(T&m,T&n){Ttemp;temp=m;m=...
#include<iostream>
using namespace std;
template<class T>
void swap(T &m,T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
swap(a,b);
double c=11.2;
double d=22.3;
swap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
求助各位:
我用的是visual c++ 6编译器,编译时会报错,可是我怎么都看不出错来,我把,传递引用改为
传递指针又没有问题了,请问是怎么回事呀? 展开
using namespace std;
template<class T>
void swap(T &m,T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
swap(a,b);
double c=11.2;
double d=22.3;
swap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
求助各位:
我用的是visual c++ 6编译器,编译时会报错,可是我怎么都看不出错来,我把,传递引用改为
传递指针又没有问题了,请问是怎么回事呀? 展开
2个回答
展开全部
#include<iostream>
using namespace std;
template<class T>
void swap(const T &m,const T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
swap(a,b);
double c=11.2;
double d=22.3;
swap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
using namespace std;
template<class T>
void swap(const T &m,const T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
swap(a,b);
double c=11.2;
double d=22.3;
swap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
展开全部
和标准模板库里面的swap混淆了。
把swap换个名就好了,例如换成myswap
修改代码如下:
#include<iostream>
using namespace std;
template<class T>
void myswap(T &m,T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
myswap(a,b);
double c=11.2;
double d=22.3;
myswap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
把swap换个名就好了,例如换成myswap
修改代码如下:
#include<iostream>
using namespace std;
template<class T>
void myswap(T &m,T &n)
{
T temp;
temp=m;
m=n;
n=temp;
}
int main()
{
int a=2;
int b=3;
myswap(a,b);
double c=11.2;
double d=22.3;
myswap(c,d);
cout<<a<<" "<<b;
cout<<endl<<c<<" "<<d;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询