下面定义了一个可变参数的非类型嵌套类模板,DEF
. 根据为 提供的类型参数,非类型模板参数可能是异构的Ts
。
template <typename ...Ts>
struct ABC {
template <Ts ...Xs>
struct DEF {};
};
一个DEF
对象可以声明如下:
ABC<int,bool>::DEF<17,true> x;
我的问题是,提供的非类型模板参数DEF
的数量是否可以少于提供给的类型模板参数的数量ABC
?例如,这些声明中的任何一个是否有效:
ABC<int,bool>::DEF<17> y;
ABC<int,bool>::DEF< > z;