Можно ли создать функцию, которая принимает параметр шаблона int
, и эта функция дает ошибку времени компиляции, если значение, переданное функции, меньше 10?
Следующий код не работает, но он показывает, чего я хочу выполнить:
template <int number1>
void reportErrorIfLessThan10()
{
#if(number1 < 10)
#error the number is less than 10
#endif
}
int maint(int argc, char**argv)
{
reportErrorIfLessThan10<5>();//report an error!
reportErrorIfLessThan10<12>();//ok
return 0;
}