2016-03-10 95 views
1

我想有一個可變參數模板類的模板類型的函數參數。下面的代碼如何能夠良好地形成?變量嵌套模板類型作爲參數

template <typename T> 
struct Foo { 
    typedef T Base; 
}; 

template <typename... Targs> 
struct Bar { 
    void get(Targs::Base... args) {} /// Type of the typedef Base of Foo! 
}; 

int main() { 
    Bar<Foo<int>, Foo<double>> bar; 

    int i = 0; 
    double j = 0.0; 
    bar.get(i, j); 
} 

使用GCC 4.9 C++ 11或5.3。

回答

2

簡單。看我的typename

template <typename... Targs> 
struct Bar { 
    void get(typename Targs::Base... args) {} /// Type of the typedef Base of Foo! 
}; 
相關問題