首页
社区
课程
招聘
新手学C++模版上的问题
发表于: 2010-5-19 19:34 3013

新手学C++模版上的问题

2010-5-19 19:34
3013
#include <iostream>
template<class any>
void swap(any &a,any &b);
int main()
{
        using namespace std;
        int i=10;
        int j=20;
        cout<<"i,j= "<<i<<" ,"<<j<<" .\n";
        swap(i,j);
        cout<<cout<<"Now i,j= "<<i<<" ,"<<j<<" .\n";

        double x=24.5;
        double y=81.7;
        cout<<"x,y= "<<x<<" ,"<<y<<" .\n";
        swap(x,y);
        cout<<"now x,y= "<<x<<" ,"<<y<<" .\n"
        return 0;

}
template <class any>
void swap(any &a,any &b)
{
        any temp;
        temp=a;
        a=b;
        b=temp;
}

在学习模版。定义这样一个模版。编译器竟然报出重载错误。我郁闷。检察很多边了。都看不出那里有问题。

ps.相当郁闷。希望能不耻指教一下

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 338
活跃值: (100)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
C++本来就有swap函数的实现,也是用模板,你把自己的swap改成swap1就行了

template<class _Ty> inline
        void swap(_Ty& _X, _Ty& _Y)
        {_Ty _Tmp = _X;
        _X = _Y, _Y = _Tmp; }
2010-5-19 20:19
0
雪    币: 459
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
lz,你和c++自带的swap函数重名了,换个其他名字就可以了,比如MySwap
2010-5-19 20:52
0
游客
登录 | 注册 方可回帖
返回
//