具有两个可变参数模板的类模板?

时间:2014-06-28 22:35:37

标签: c++ templates c++11 standards variadic-templates

考虑以下示例:

#include <iostream>
#include <type_traits>

template <class... T> struct types {};
template <int... N> struct values {};

// No error
template <class... T, int... N> void f (types<T...>, values<N...>) {};
// Error
template <class... T, int... N> class s : public types<T...>, values<N...> {};

int main()
{
    return 0;
}

为什么第二个没有编译(是编译器错误,还是来自标准),是否有解决方法?

注意:错误是:

main.cpp:8:39: error: parameter pack ‘T’ must be at the end of the template parameter list
 template <class... T, int... N> class s : public types<T...>, values<N...> {}

0 个答案:

没有答案