他们(GCC)是否支持功能模板中的默认args:

时间:2010-11-03 10:11:25

标签: c++ templates gcc

在这里:
http://gcc.gnu.org/
我的第一个问题:
1.怎么可能(见新闻专栏) 新闻
10月1日,2010年 GCC 4.4.5已经发布 7月31日,2010年 GCC 4.5.1已经发布 5月22日,2010年 GCC 4.3.5已经发布 4月29日,2010年 GCC 4.4.4已经发布 4月14日,2010年 GCC 4.5.0已经发布 根据此列表,较新版本(4.5.0)早于旧版本4.4.5发布 我想从中读出这个来理解它是什么意思? 第二个问题:
2.在这里:
http://gcc.gnu.org/projects/cxx0x.html
他们说fnc中的dflt tmp args是由他们的4.4版本支持的。我运行4.4.1 ver,当我尝试编译时:

#include <vector>

template<class Key, class CollT = std::vector>
CollT* delete_(Key kValue)
{
    return new CollT;
}

int main()
{
    return 0;
}

我收到了错误 那是怎么回事?

2 个答案:

答案 0 :(得分:1)

答案1:

4.5和4.4是不同的发展分支。它发生在许多项目中。例如,Python有3.0版,目前有3.1版,但仍然支持2.6 / 2.7分支。 (并且还将一些功能从3.x反向移植到2.x)

答案2:

我认为你不应该立刻问多个(无关的?)问题。我知道第一个答案,但不是第二个答案。

答案 1 :(得分:1)

std :: vector不是没有模板参数的类型。这意味着您无法将其设置为模板参数的默认参数。