a2.cpp:34:12: error: no matching function for call to 'is_constexpr_impl'
return is_constexpr_impl<F, FP, Args...>(0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a2.cpp:60:18: note: in instantiation of function template specialization
'is_constexpr<int (int, int), f, int, int>' requested here
std::cout << is_constexpr<decltype(f), &f>(1, 1) << std::endl;
^
a2.cpp:14:16: note: candidate template ignored: substitution failure [with F =
int (int, int), FP = f, Args = <int, int>]: non-type template argument is
not a constant expression
constexpr bool is_constexpr_impl(bool&&)
^
a2.cpp:34:12: error: no matching function for call to 'is_constexpr_impl'
return is_constexpr_impl<F, FP, Args...>(0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a2.cpp:61:18: note: in instantiation of function template specialization
'is_constexpr<float (float, float), g, float, float>' requested here
std::cout << is_constexpr<decltype(g), &g>(1.0f, 1.0f) << std::endl;
^
a2.cpp:14:16: note: candidate template ignored: substitution failure [with F =
float (float, float), FP = g, Args = <float, float>]: non-type template
argument is not a constant expression
constexpr bool is_constexpr_impl(bool&&)
^
a2.cpp:34:12: error: no matching function for call to 'is_constexpr_impl'
return is_constexpr_impl<F, FP, Args...>(0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a2.cpp:62:18: note: in instantiation of function template specialization
'is_constexpr<int (int, int), h, int, int>' requested here
std::cout << is_constexpr<decltype(h), &h>(1, 1) << std::endl;
^
a2.cpp:14:16: note: candidate template ignored: substitution failure [with F =
int (int, int), FP = h, Args = <int, int>]: non-type template argument is
not a constant expression
constexpr bool is_constexpr_impl(bool&&)
^
a2.cpp:34:12: error: no matching function for call to 'is_constexpr_impl'
return is_constexpr_impl<F, FP, Args...>(0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a2.cpp:63:18: note: in instantiation of function template specialization
'is_constexpr<float (float, float), i, float, float>' requested here
std::cout << is_constexpr<decltype(i), &i>(1.0f, 1.0f) << std::endl;
^
a2.cpp:14:16: note: candidate template ignored: substitution failure [with F =
float (float, float), FP = i, Args = <float, float>]: non-type template
argument is not a constant expression
constexpr bool is_constexpr_impl(bool&&)
^
4 errors generated.