我创建了一个模板并给它一个默认类型:
template <typename T = unsigned>
class Network {
// ...
}
但是,当我尝试实例化Network
对象
Network nw;
我收到错误:
app.cpp:60:9: error: missing template arguments before 'nw'
第60行是Network nw;
。如果我在明确提及没有类型时指定类型T
默认为unsigned
,为什么我缺少模板参数?
答案 0 :(得分:8)
它仍然是模板类型,因此它仍然需要尖括号:
Network<> nw;
恼人的?呀。
答案 1 :(得分:8)
仍然需要:
Network<> nw;
即使它是默认值,它仍然需要像模板一样被调用。