这个函数模板怎么不能用?
这个是定义的一个函数模板,利用模板交换了两个整数a和b,但是编译不能通过,用的是dev-c++编译器,编译提示:call of overloaded `swap(int&, int&)' is ambiguous ,请问这是为什么啊?
#include <iostream>
template <class any>
void swap(any &, any &);
int main()
{
using namespace std;
int a=3, b=4;
cout<<"a="<<a<<" "<<"b="<<b<<endl;
swap (a,b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
system("pause");
return 0;
}
template <class any>
void swap (any &x, any &y)
{
any temp;
temp = x;
x = y;
y = temp;
}