Tengo un requisito que, debería usar una clase específica si un entero pasado como uno de los parámetros de la plantilla es mayor que un cierto valor. De lo contrario, debería obtener un error de tiempo de compilación ...Comparación de tiempo de compilación del parámetro de plantilla
Es algo así como lo siguiente:
enum Time { Day, Week, Month };
template<Time t, int length>
class Timer
{
}
ahora que he comenzado a restringir crear instancias de Timer
de tal manera que -
Timer<Day,8>
, Timer<Day,9>
etc. debería funcionar, pero length
no puede ser menor que 8 cuando se usa con Day
.
Del mismo modo, length
no puede ser inferior a 10 cuando se utiliza con Week
y así sucesivamente ...
por favor alguien puede ayudar con cómo esto se puede lograr en tiempo de compilación?
Posible duplicado de http://stackoverflow.com/questions/3881165/how-do-i-validate-template-parameters-in-compile-time-when-a-templated-class-cont –