为什么我缺少模板参数
Why am I missing template arguments?
我创建了一个模板,并给它一个默认类型:
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;
即使它是默认的,它仍然需要像模板一样被调用。
相关文章:
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 在C++中传递给函数时,为什么要指定数组大小作为参数
- 为什么 std::function 可以作为 std::not2 的参数?
- 当给定默认值时,为什么此模板参数推导失败
- 非类型指针和引用模板参数,以及在编译时如何/为什么解析它们.c++
- 为什么默认复制函数在按值发送参数时不调用?
- 为什么 std::绑定错误参数可以成功?
- 模板参数列表中的 false 在模板初始化期间计算为什么?
- 为什么我们不能重复使用具有不同模板参数的别名模板标识符?
- 为什么模板参数推导失败?
- 为什么我需要在成员发起器列表中重复基类的模板参数?
- 为什么我不能将引用作为 std::async 的函数参数传递
- 为什么可变参数函数不适用于模板
- 为什么即使我调用参数化构造函数也会调用默认构造函数?
- 为什么这个噪声函数不处理否定参数?
- 不可能:此指针作为默认参数.为什么
- 默认模板参数:为什么编译器抱怨没有指定模板参数
- C++数组作为参数 - 为什么只需要指定"outer"维度
- 函数重载std::函数参数:为什么从未调用const方法
- 使用 std::enable_if 作为 templ 时的默认模板参数.参数:为什么可以使用两个仅在enable_if参