当我编译这段代码时,我收到一条错误消息
重载的调用
swap(int&, int&)
不明确
但我在这里只写了一个交换函数。
你能告诉我为什么这个函数是模棱两可的,我需要做哪些改变才能正确运行程序?
using namespace std;
template <class T>
void swap(T& x, T& y)
{
T temp;
temp = x;
x = y;
y = temp;
}
int main()
{
int a, b;
cout << "Enter two elements: ";
cin >> a;
cin >> b;
swap(a, b);
cout << "a is "<<a << '\t'<<"b is " << b << std::endl;
return 0;
}
为什么即使只有交换功能,交换功能也会重载?