是否有直接的方法來使用可變參數模板參數。例如考慮下面的函數簽名可變參數模板模板參數
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args>
void foo(const Pack<T,Args...>& a);
如果我們想傳遞兩個Pack
一個值得我們現在做的過載
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args0, size_t ... Args1>
void foo(const Pack<T,Args0...>& a, const Pack<T,Args1...>& b);
現在,如果我們想傳遞一個可變數量的Pack
對象具有不同的可變參數,例如Args0...,Args1...,Args2...
。
所以我在想如果有一個實際的做法沿着線(下面肯定是一個草圖表示)。
template<template<typename,size_t...> ... class Pack, typename T,...>
void foo(const Pack<T,...> ... packs);
你需要用'T'和'Args'做什麼?你最好使用'template'並寫一些簡單的特徵來提取你需要的東西。 –
TartanLlama
.....大聲笑.....? :D –
@克勞斯其實,是的,你可以... [自己看看](http://coliru.stacked-crooked.com/a/1d822071ce2130bf) – Rerito