template<classT>autof(Tx)->decltype(std::enable_if_t<std::is_function_v<decltype(T::f)>,int>{}){// ^---true si T::f existe et que c'est une fonctionreturnx.f();}template<classT>autof(Tx)->decltype(std::enable_if_t<!std::is_function_v<decltype(T::f)>,int>{}){// ^---le contrairereturn0;}
Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)
# Correction § "Remplacement du SFINAE"
Posté par Oliver (site web personnel) . En réponse à la dépêche C++17 branche à la compilation (`if constexpr`). Évalué à 3. Dernière modification le 05 décembre 2016 à 15:09.
Le code suivant est utilisé dans la dépêche, mais il est ambigu car on ne voit pas la différence au niveau de la déclaration des deux fonctions :
Merci à un modérateur de le remplacer par :
Commentaire sous licence Creative Commons Zero CC0 1.0 Universal (Public Domain Dedication)