gpt4 book ai didi

c++ - C++中的模板类?

转载 作者:行者123 更新时间:2023-11-30 01:53:42 26 4
gpt4 key购买 nike

我正在使用模板类来设置交换函数的数据类型。在代码中,如果我将函数名称初始化为小写字母,则会引发错误 重载 'swap(double&, double&) 的调用不明确但是当我将函数名称初始化为大写时,它工作正常。如果有人能向我解释为什么会这样,我将不胜感激。这是我的代码

#include<iostream>

using namespace std;
template <class T>
void swap(T &a,T &b)
{
T temp;

temp = a;
a = b;
b = temp;
}

int main()
{
double value1 = 2.44;
double value2 = 6.66;

cout<<"\tBefore swap \n";
cout<<"Value 1 = "<< value1 <<"\tValue 2 = " << value2 <<"\n";

swap(value1,value2);

cout<<"\tafter swap \n";
cout<<"Value 1 = "<< value1 <<"\tValue 2 = "<<value2;
}

最佳答案

代替

swap(value1,value2);

使用

::swap(value1,value2);

这将解决命名空间和歧义问题。

关于c++ - C++中的模板类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22913358/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com