Я новичок в вариативных шаблонах C++ 11 и не знаю, является ли то, что я делаю неправильно, простая синтаксическая ошибка, или это невозможно. Я хотел бы написать что-то вроде следующего:Динамические члены класса
template< typename... Args >
struct Test
{
Args... args;
Test(Args... args_) : args(args_...) {
}
};
В основном этот класс будет иметь «псевдо динамических членов». Я попытался это с:
struct A {};
template< typename... Args >
A* MakeB(Args... args)
{
struct B : public A
{
Args... args;
B(Args... args_) : args(args_...) {
}
};
return new B;
};
ли это невозможно, или я просто не очень хорошо с переменным числом шаблонов?
Есть ли способ, чтобы извлечь данные, чтобы я мог использовать синтаксис расширения, чтобы привести членов в вызов функции эффектно, т. е. func (args ...); ? –
@ TheFloatingBrain См. Http://stackoverflow.com/q/687490/420683 – dyp