标题:请问一下各位,都用什么样的编译器?
取消只看楼主
cookies5000
Rank: 2
等 级:论坛游民
帖 子:33
专家分:48
注 册:2009-10-25
结帖率:100%
已结贴  问题点数:20 回复次数:1 
请问一下各位,都用什么样的编译器?
#include <iostream>
#include <string>
using namespace std;

template <typename T>
T const & max2(T const & a, T const & b )
{
    return a<b?b:a;
}
template <typename T>
T * const &max2(T* const &a ,T * const &b)
{
    return *a<*b?b:a;
}

const char * const & max2(const char * const &a, const char * const &b)
{
    return strcmp(a,b)<0? b:a;
}
//
int main()
{
    int ia=3;
    int ib=8;
    char * s1="hello";
    char * s2="hell";
    cout<<* max2(&ia, &ib)<<"\n";
    cout<<  max2(ia,ib)<<"\n";
    cout<<  max2(s1,s2)<<"\n";
    return 0;
}

//
上面这几行代码,我在VC++6.0上编译不过,错误提示的大意好象是max2不知道如何匹配。可在Visual Studio2005
下却顺利通过。。。
请问各位:    1. 是编译器的差异造成这种现象吗?
              2. 各位都用什么样的编译器?有哪种是"标准的"?(很愚蠢的问题,请别笑出声来).
搜索更多相关主题的帖子: 什么样 编译 
2009-10-31 01:09
cookies5000
Rank: 2
等 级:论坛游民
帖 子:33
专家分:48
注 册:2009-10-25
得分:0 
谢谢flyingcloude:我知道了 gcc .呵呵

谢谢pangding:

“支持这种特性,可以利用语法让编程变得轻松些,不过这些语法不是必须的,也就是说,完全可以利用编程技巧避免使用这个语法特性。一些良好的可移植代码,一般都可以利用条件处理让编译器生成最佳效果的语句。”

这话经典啊!使我明白了一点:不走“边缘路线”,尽可能让代码为编译器所接受。


2009-10-31 15:44



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




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

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