Considérez l'extrait suivant de l' idiome safe bool :
typedef void (Testable::*bool_type)() const;
operator bool_type() const;
Est-il possible de déclarer la fonction de conversion sans le typedef? Ce qui suit ne compile pas:
operator (void (Testable::*)() const)() const;