template <int N>
struct F
{
static constexpr int Value = [] {
if constexpr (N > 2)//可以代替#define
{
return F<N - 1>::Value + 1;
}
else return 1;
}();//lambda表达式直接求值
};
int main()
{
cout << F<3>::Value;
return 0;
}
template <int N>
struct F
{
static constexpr int Value = [] {
if constexpr (N > 2)//可以代替#define
{
return F<N - 1>::Value + 1;
}
else return 1;
}();//lambda表达式直接求值
};
int main()
{
cout << F<3>::Value;
return 0;
}