Chcę, aby parametr szablonu akceptował szablon z argumentem szablonu numerycznego.Jak ustawić parametr szablonu szablonu na wartość liczbową?
Ten przykład może nadmiernie uproszczone, ale chciałbym coś takiego:
template <int X>
struct XX
{
static const int x = X;
};
template<typename TT, TT V, template<V> TX>
void fnx(TX<V> x)
{
static_assert(V == TX::x, "IMPOSSIBLE!");
}
void fny()
{
fnx(XX<1>())
}
Nie należy zrozumieć składnię dla tego, co musi być możliwe. Jak to osiągnąć?
co się 'TT' ma być? w jaki sposób kompilator wywnioskuje jego typ podczas wywoływania 'fnx' w' fny'? czy możesz podać więcej kontekstu swojego problemu, który próbujesz rozwiązać za pomocą tego podejścia? –
@ m.s. 'int', przypuszczalnie. – Barry
Syntaktycznie potrzebujesz 'template class TX'. Ale to nie jest cały problem. –