テンプレート関数のパラメーターから非型のテンプレート パラメーターを推測することは可能ですか?
次の単純なテンプレートを検討してください。
template <int N> constexpr int factorial()
{
return N * factorial<N - 1>();
}
template <> constexpr int factorial<0>()
{
return 1;
}
template <> constexpr int factorial<1>()
{
return 1;
}
factorial
代わりに次のように呼び出すことができるように変更できるようにしたいと思います。
factorial(5);
コンパイル時にコンパイラに N の値を計算させます。これは可能ですか?たぶん、派手なC++ 11の追加でしょうか?