To be able to use templates in this manner, the compiler must know the value of its parameters at compile time, which has the natural precondition that factorial<X>::value can only be used if X is known at compile time.
Да бисте могли да користите шаблоне на овај начин, преводилац мора знати вредност својих параметара у компајлирању, који има природни предуслов да факторијална <X> :: вредност може се користити само ако је X познат у време компилације.