为什么我缺少模板参数?

时间:2013-02-22 02:01:32

标签: c++

我创建了一个模板并给它一个默认类型:

template <typename T = unsigned>
class Network {
    // ...
}

但是,当我尝试实例化Network对象

Network nw;

我收到错误:

app.cpp:60:9: error: missing template arguments before 'nw'

第60行是Network nw;。如果我在明确提及没有类型时指定类型T默认为unsigned,为什么我缺少模板参数?

2 个答案:

答案 0 :(得分:8)

它仍然是模板类型,因此它仍然需要尖括号:

Network<> nw;

恼人的?呀。

答案 1 :(得分:8)

仍然需要:

Network<> nw;

即使它是默认值,它仍然需要像模板一样被调用。