Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Распаковка parameter pack в наследуемых типах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неизвестный тип DATE http://www.cyberforum.ru/cpp/thread1575195.html
Приветствую! Пытаюсь собрать пример внешней компоненты для 1С в среде Microsoft Visual C++ 2008 Express edition, научился компилировать dll файл, но знаний по С пока маловато, застрял на...
C++ Как в Visual Studio писать на чистом C++ без использования фреймворка? Вообщем читал я Зиборова программирование под Визуал студио 2010 в среде .NET И тут понял что мне Выплеснули ведро говна в лицо это не нужно, моя приложения не запускаются ни на виртуалкке, ни на... http://www.cyberforum.ru/cpp/thread1574225.html
Поиск литературы по C++ C++
Доброго времени суток! Помогите найти литературу по следующий аспектам, желательно которую можно купить в печатном виде: 1. STL (ЭТО САМОЕ СЕЙЧАС НУЖНОЕ) 2. MFC 3. Библиотека boost 4. MySql для...
Клик мыши в неактивном окне C++
Открыто окно Opera, свёрнут Google Chrome Мы запускаем программу, которая должна кликнуть по координатам x, y в свёрнутом окне Google Chrome на вкладке "Яндекс" (x=512, y=478, на моём экране там...
C++ Промоделировать падения тела с заданными характеристиками (масса, форма) http://www.cyberforum.ru/cpp/thread1573390.html
Промоделировать падения тела с заданными характеристиками (масса, форма) в различных вязких средах. Изучить влияние вязкости среды на характер движения. Скорость движения должна быть столь невелика,...
C++ Стоит ли прятать интерфейсные методы внутри класса? 1) Стоит ли прятать интерфейсные методы внутри класса, чтобы обеспечить доступ к интерфейсу интерфейса только с помощью явного приведения указателя на объект к интерфейсному указателю. class... подробнее

Показать сообщение отдельно
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2

Распаковка parameter pack в наследуемых типах - C++

10.11.2015, 14:54. Просмотров 299. Ответов 2
Метки (Все метки)

Есть класс наследуемый от переменного количества типов. Я не могу понять как можно сделать распаковку списка параметров с доступом к функции-члену. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <utility>
 
struct A {int val; void foo() const {std::cout << val;}};
struct B {int val; void foo() const {std::cout << val;}};
struct C {int val; void foo() const {std::cout << val;}};
struct D {int val; void foo() const {std::cout << val;}};
 
template <typename ... Types>
struct Test : public Types ...
{
   Test() = default;
   Test(Types&& ...args) : Types(std::forward<Types>(args))... {}
 
   void print() const
   {
      Types::foo()...;
   }
 
};
 
int main()
{
   Test<A, B, C, D> t{{1}, {2}, {3}, {4}};
   t.print();
}
Ошибка:
Bash
1
2
3
 ошибка: parameter packs not expanded with '...':
       (Types::foo())...;
                        ^

Как такое можно реализовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru