Предполагая, что у меня есть некоторый шаблон функции f1:
template<typename f2>
int f1(int i, int j) noexcept {
return i + j + f2(i, j);
}
существует ли способ определить, может ли f2(i, j)
быть constexpr
. (независимо от того, является ли это функтором или функтором), и поэтому отметьте f1<f2>
как constexpr
тоже?
Я думаю использовать SFINAE здесь как-то, но не нашел, как обнаружить constexpr
с помощью свойств типа