I am confused about this code from "The C++ programming language 4th, 28.4.4"
template<typename T>
struct get_f_result {
private:
template<typename X>
static auto check(X const& x) −> decltype(f(x)); // can call f(x)
static substitution_failure check(...); // cannot call f(x)
public:
using type = decltype(check(std::declval<T>()));
};
The part that I am specifically confused about is this line here:
static substitution_failure check(...); // cannot call f(x)
But I remember ...
could not accept non pod type? So how could this work?
Aucun commentaire:
Enregistrer un commentaire