标题:函数模板类型转换不成功~~
只看楼主
蜗牛进程
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2009-10-6
结帖率:83.33%
已结贴  问题点数:20 回复次数:5 
函数模板类型转换不成功~~
:\c++程序\zy_8_11\11.cpp(11) : error C2667: 'swap' : none of 2 overload have a best conversion
D:\c++程序\zy_8_11\11.cpp(11) : error C2668: 'swap' : ambiguous call to overloaded function
D:\c++程序\zy_8_11\11.cpp(17) : error C2667: 'swap' : none of 2 overload have a best conversion
D:\c++程序\zy_8_11\11.cpp(17) : error C2668: 'swap' : ambiguous call to overloaded function
Error executing cl.exe.

zy_8_11.exe - 4 error(s), 0 warning(s)


#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<<endl;
    cout<<"using compiler -generated int swapper:\n";
    swap(i,j);
    cout<<"NOw i,j= "<<i<<". "<<j<<"\n";
     
    double x=24.5;
    double y=81.7;
    cout<<"x,y = "<<x<<" ."<<y<<endl;
    swap(x,y);
    cout<<"NOwx,y= "<<x<<" ."<<y<<endl;
    return 0;
}
template<class Any>
void swap(Any& a, Any& b)
{
    Any temp;
        temp=a;
    a=b;
    b=temp;
   
}
搜索更多相关主题的帖子: 模板 函数 类型 
2009-11-02 20:51
qlc00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:157
专家分:540
注 册:2007-11-26
得分:0 
确实如楼下说的,名字重了,改一下就可以了!还有一种方法就是把using namespace std;出掉,头文件变成#include<iostream.h>也可以

[ 本帖最后由 qlc00 于 2009-11-3 17:35 编辑 ]

Anything is possible!
2009-11-02 23:14
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
得分:20 
回复 楼主 蜗牛进程
swap改个名字吧,用Swap或者其他。
因为在标准库里已经有swap函数了,所以重名了。

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-11-02 23:24
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
得分:0 
class不用换成typedef

原因是swap重名了

java群
62635216
欢迎加入
2009-11-03 12:03
qlc00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:157
专家分:540
注 册:2007-11-26
得分:0 
看来我记错了,我总是感觉class要在类模板中使用!,但是如果把头文件加.h的话就可以

Anything is possible!
2009-11-03 17:34
蜗牛进程
Rank: 1
等 级:新手上路
帖 子:20
专家分:3
注 册:2009-10-6
得分:0 
版主正解~~~我把那个改成大s就编译通过了
2009-11-03 18:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290811-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.161633 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved