template < int ...Indices>
class T1 {
template <int _1, int _2>
class T2;
};
template <int ...Indices>
template <int _1>
class T1<Indices...>::T2<_1, sizeof...(Indices)> {};
//^--error: non-type template argument depends on a template parameter of the partial specialization
在gcc 4.5+上編譯但在clang 3.1和icc上都沒有編譯,都抱怨sizeof...(Indices)
的使用。 它只是一個尚未實現的功能在後面的編譯器或一些特殊情況?取決於封閉模板參數的嵌套模板專門化
感謝,
Buote
看起來像這些編譯器中的錯誤。如果可以的話,嘗試在'T1'' class {}'塊內定義嵌套模板,如果需要的話,可能委託給一個單獨的成員模板。 – Potatoswatter 2012-01-15 12:20:49