11
template<typename T, T Min>
class LowerBoundedType {};
template<typename T> class vectorelement {};
template<> class vectorelement<Categorical> { typedef LowerBoundedType<double, 0.0> type; };
avec l'erreur:modèle ne peut pas compiler: « double » est pas un type valide pour un paramètre constant modèle
error: 'double' is not a valid type for a template constant parameter
Je n'ai pas le brouillon sur moi, est-ce que C++ 0x autorise un type numérique? – GManNickG
@GMan: Je me souviens qu'il a été proposé que tout type numérique soit autorisé, mais N3092 §14.3.2/1 dit toujours "une expression constante intégrale", donc il ne semble pas. –
Je ne sais pas pourquoi cette règle est une bonne idée. –