以下代码VC6编译不过,不知道fun(m1)调用那个函数,VC8能过。


#include <iostream>

#include <string>
#include <map>

using namespace std ;


void fun(int x)
    {
        
    }

template<class _K, class _Ty>
        void fun(std::map<_K,_Ty>& m)
    {
        
    }

    template<class TYPE>
    void fun(TYPE x)
    {
        
    }
 
    class A
    {
    };


    void main()
    {
        std::map<long, A> m1;
        fun(3);
        fun("dd");
        fun(m1);
    }

-------------------------------



template<class T>
void Fun(T t1,T t2 )
{
}

template<class T1,class T2 >
int Fun(T1 t1,T2 t2)
{
    return 0 ;
}


void main()
{
    int x1 = Fun((short)1,(long)1);
}


VS2005(VS8)能过 VS2002(VC7)不能过。


posted on   闻缺陷则喜何志丹  阅读(4)  评论(0编辑  收藏  举报  
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~



点击右上角即可分享
微信分享提示