У меня есть два шаблона, один передается другому в качестве аргумента. Я хотел бы иметь возможность использовать аргументы из аргумента в основном шаблоне. Или если у меня есть:
template <typename T, typename... Args>
class Foo
{
typedef T Type;
static void foo(Args... args)
{
}
};
template <typename C>
class Bar
{
void bar(Args... args)
{
// do something
C::foo(args...);
}
};
Как я могу сделать Args
видимым в шаблоне Bar
. Обратите внимание, что с typedef T Type
я могу использовать C::Type
в Bar
. Каков синтаксис, если это возможно для аргумента с переменным числом аргументов?