私は、テンプレートパラメータに数字のテンプレート引数を持つテンプレートを受け入れたいと思っています。テンプレートテンプレートパラメータを数値にするにはどうすればよいですか?
この例多分過度に単純化されたが、私はこのような何か希望:それは可能でなければならないと私は、このための構文を理解してはいけません
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>())
}
を。どうすればこれを達成できますか?少しだけ、あなたの構文を固定
'TT'があることをどのようになっていますか?コンパイラは 'fn'で' fnx'を呼び出すとどのようにその型を推定しますか?あなたはこのアプローチであなたが解決しようとしているあなたの問題のより多くの文脈を与えることができますか? –
@ m.s。おそらく 'int'、おそらく。 – Barry
構文上、 'template class TX'が必要です。しかし、それはすべての問題ではありません。 –