【发布时间】:2017-12-09 17:16:08
【问题描述】:
在探索this answer 时,我发现采用参数包的模板不会被需要具有特定数量参数的模板的模板接受。
在我看来这是一个缺陷,因为如果模板可以采用任意数量的参数,它应该能够映射到特定的数字。是否有语言律师可以解释为什么不允许这样做?
这是一个简单的例子:
template <typename...Ts>
using pack = void;
template <template <typename> class>
using accept_template = int;
accept_template<pack> value = 0;
我当然不会在这种确切的场景中使用它。它将用于将模板传递给另一个模板,该模板将以某种方式使用传递的模板。在我链接的答案中,我已经说明了一个解决方法,但我仍然觉得这是一个缺陷。
【问题讨论】:
标签: c++ c++11 c++14 language-lawyer