テンプレート テンプレート パラメータを介して設定されたポリシーと 2 つのポリシー定義を持つテンプレート クラス C を考えてみましょう。
template<class T> struct PolicyOne { };
template<class T, int U, int V> struct PolicyTwo { };
template<class T, template<class> class POLICY> struct C { POLICY<T> policy; };
void f()
{
C<int, PolicyOne> mc1;
C<int, PolicyTwo<1, 2> > mc2; // doesn't work this way
}
PolicyTwo
テンプレート引数の数が間違っているため、機能しません。追加のテンプレート パラメーターの型を指定する場合、テンプレート パラメーターPolicyTwo
として使用する方法はありますか?POLICY
C++03 を使用しているため、エイリアス宣言は使用できません。この質問は承知していますが、問題の解決策が見当たりません。