J'ai une classe Helper
:problème avec des paramètres spécialisation de modèle et le modèle de modèle
template <typename T, template <typename> E>
class Helper {
...
};
J'ai un autre modèle de classe, Exposure
, qui doit hériter de Helper
en se passant comme paramètre de modèle de modèle E
. J'ai également besoin de spécialiser Exposure
. Ainsi je veux écrire quelque chose comme ceci:
template <>
class Exposure<int> : public Helper<int, Exposure> {
Exposure() : Helper<int, Exposure>() {
...
};
...
};
Malheureusement ceci ne compilera pas. gcc se plaint:
Exposure.h:170: error: type/value mismatch at argument 2 in template parameter list for `‘template > class ExposureHelper’
Exposure.h:170: error: expected a constant of type ‘’, got ‘Exposure’
Est-ce que je fais quelque chose de mal? Y a-t-il une solution de contournement pour ce que j'essaie de faire?