为什么我缺少模板参数

Why am I missing template arguments?

本文关键字:参数 为什么      更新时间:2023-10-16

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

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

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

Network nw;

我得到一个错误:

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

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

它仍然是一个模板化的类型,所以它仍然需要尖括号:

Network<> nw;

烦人?是 啊

它仍然需要:

Network<> nw;

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