Я определил классИмея шаблонный параметр зависит от списка параметров
template <typename... Ts> struct Bar {
using inner_type = /* whatever */;
};
Теперь, мне нужно определить шаблонный класс Foo
, параметры шаблона некоторые параметры пакета, а значение типа Bar::inner_type
экземпляра для этот пакет параметров. К сожалению, я не могу это сделать. Если я определяю это так:
template <Bar<Ts...>::inner_type SomeValue, typename... Ts> struct Foo { };
компилятор не распознает Ts
, когда он используется, так как он не видит пакет параметров еще; но если я определяю это так:
template <typename... Ts, Bar<Ts...>::inner_type SomeValue> struct Foo { };
компилятор глумится моей попытке использовать параметр пакета перед другими параметрами шаблона.
Итак, как я могу это сделать?
Примечание: В случае, если это имеет значение, это не помогло мне с GCC 4.9.3.
параметр шаблона не типа (например, '' шаблон)? –
bolov
Не можете ли вы использовать 'template struct Foo;'? –
Jarod42
Лучше всего было бы показать нам, как вы собираетесь создавать экземпляр Foo – bolov