函数模板对另一个函数模板的调用问题,请大侠赐教!
#include<iostream>using namespace std;
template<class T>
void bubble(T a[],int n)
{
for(int i=0;i<n-1;i++)
for(int j=n-1;j>i;j--)
if(a[j]<a[j-1])
{
swap(a[j],a[j-1]);
}
}
template<class X>
void swap(X &a,X &b)
{
X temp=a;
a=b;
b=temp;
}
int main()
{
int x[5]={10,50,30,40,20};
float y[5]={1.1,5.5,3.3,4.4,2.2};
bubble(x,5);
bubble(y,5);
cout<<"sorted x-array";
for(int i=0;i<5;i++)
cout<<x[i]<<"";
cout<<endl;
cout<<"sorted y-array";
for(int j=0;j<5;j++)
cout<<y[j]<<"";
cout<<endl;
return 0;
}
//用VS2010运行,报错:“swap”: 对重载函数的调用不明确,请问要怎么解决???