Supponiamo che io ho alcune classi template definiti come segueEspansione di un parametro di pacchetto di template <class> classi
template<template<class>class...>
struct my_class;
template<class>
struct define_template{
template<class>
class type;
};
ho bisogno di definire un modello di alias che sostituisce define_template :: tipo in my_class così per tre classi che potrei fare questo
template<class A, class B, class C>
using my_alias = my_class< define_template<A>::template type,
define_template<B>::template type,
define_template<C>::template type>;
non riesco a capire la sintassi di fare questo per un modello variadic idealmente qualcosa di simile
template<class... T>
using new_class = my_class<define_template<T>::template type...>;
che mi dà un errore "parametro non pacchi ampliato con '...'
Qualcuno sa lo SYNAX corretta?
Dai commenti sotto compila in clang, sto usando gcc 4.8.2 tramite Cygwin.
nessun errore in [clang] (http://coliru.stacked-crooked.com/a/88552814d04f29fe) –
* vc2 013 * [conforme anche a questo codice] (http://rextester.com/EVN44627). Sembra che sia un bug in * g ++ *. – Constructor