Шаблоны обрабатываются во время компиляции, и это означает, что вы можете использовать только константные выражения , ни один из которых не может выдать, поэтому простой ответ заключается в том, что вы не можете делать то, что вы хотите там.
Хотя в большинстве случаев я против макросов, это одно из тех немногих мест, где они имеют смысл, и если вы посмотрите на тестовые среды, то обнаружите, что макросы являются общим решением для этой конкретной проблемы.