我创建了一个模板,并为其指定了默认类型:

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;

烦人吗是的

关于c++ - 为什么我缺少模板参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15015641/

10-11 17:53