Có cách nào đơn giản để có các tham số mẫu mẫu của biến thể variadic variadic hay không. Ví dụ xem xét các chức năng chữ ký sauCác biến mẫu của mẫu biến thể Variadic variadic
template<template<typename,size_t...> class Pack,
typename T, size_t ... Args>
void foo(const Pack<T,Args...>& a);
Nếu chúng ta muốn vượt qua hai Pack
s chúng ta phải bây giờ làm một tình trạng quá tải
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);
Bây giờ những gì nếu chúng ta muốn vượt qua một số biến của các đối tượng của Pack
với các tham số variadic khác nhau Args0...,Args1...,Args2...
.
Vì vậy, tôi đã suy nghĩ nếu có một cách thực tế để làm một cái gì đó dọc theo dòng (sau đây chắc chắn là một đại diện phác thảo).
template<template<typename,size_t...> ... class Pack, typename T,...>
void foo(const Pack<T,...> ... packs);
Bạn cần làm gì với 'T' và' Args'? Có lẽ bạn nên sử dụng 'template' và viết một số đặc điểm đơn giản để trích xuất những gì bạn cần. –
TartanLlama
..... lol .....? : D –
@Klaus thực sự, có bạn có thể ... [Xem cho chính mình] (http://coliru.stacked-crooked.com/a/1d822071ce2130bf) – Rerito