私は、ポリシーベースのクラス設計のためにバリディックなパラメータパックを使用しています。テンプレートクラス用の複数のVariadic Parameter Pack
template <APITypes APIType, class... Policies>
class IShader : public Policies... {
};
ポリシーは、呼び出されたときに定義されます。指定されていない場合は、デフォルトでポリシーが定義されます。私は別の可変引数パラメータパックを追加する必要があるときに問題が来る:
template <AttributeType... Attributes, APITypes APIType, class... Policies>
class IShader : public Policies... {
};
これはエラーになり、「テンプレートパラメータパック最後のテンプレートパラメータでなければなりません」。私は、属性パックを使用して少なくとも1つのポリシーの動作を変更する予定です。しかし、私は1つのテンプレートクラスに2つのvariadicパラメータパックを取得する方法を考えることができません。
できません。あなたはテンプレート/クラスデザインを再考する必要があります。 –
何らかの間接指定さえありませんか?属性リストのための何らかの種類のラッパーを言う。またはテンプレートのテンプレート? – James
あなたはいつも 'IShader、APIType、Policies >' –
chris