【发布时间】:2017-12-15 21:27:20
【问题描述】:
我想编写模板来构造一个输入端口。这可以通过单个输入输出端口或输入引脚列表来完成。我更喜欢这些模板具有相同的名称。我对输入输出端口和输入引脚都有概念。我会写
template< typename... arguments >
struct port_in ....
template< pin_in T >
struct port_in<> ....
但现在列表版本将接受任何类型。我可以在实现中检查这一点,但这会降低用户在传递不适合的类型时收到的错误消息。我可以以某种方式将列表限制为一种类型,但允许使用另一种类型的单个模板参数吗?
【问题讨论】:
标签: c++ templates variadic-templates c++-concepts